PHP Session 安全

在stackoverflow上看到关于phpSession安全的讨论,特记录之。(http://stackoverflow.com/questions/328/php-session-security)

1.使用SSL

2.重设session_id

引用
PHP中可以:session_regenerate_id(true);

3.设置session有效时间

可以参考鸟哥的文章:http://www.laruence.com/2012/01/10/2469.html

4.不是全局变量

5.存储信息在服务器上,不发送重要信息到cookie上

6.检查用户user_agent和IP

引用

PHP使用:if($_SESSION['user_agent']!=$_SERVER['HTTP_USER_AGENT']

||$_SESSION['user_ip']!=$_SERVER['REMOTE_ADDR']){

//Somethingfishyisgoingonhere?

}

7.设置httpOnly避免Session攻击

参考:http://ilia.ws/archives/121-httpOnly-cookie-flag-support-in-PHP-5.2.html

8.Lockdownaccesstothesessionsonthefilesystemorusecustomsessionhandling

引用
可是自定义session session_set_save_handler()

将session存储在DB,memcached等

9.Forsensitiveoperationsconsiderrequiringloggedinuserstoprovidetheirauthenicationdetailsagain

相关推荐