Dmi*_*iyd 9 php security session
我正在考虑在每个页面上使用此代码以减少会话劫持的可能性.通过在每个请求上更新session_id
if(!empty($_session)){
session_start();
}
Run Code Online (Sandbox Code Playgroud)
实现这一目标的另一种方法是:
if(!empty($_session)){
session_regenerate_id(true);
}
Run Code Online (Sandbox Code Playgroud)
但是,我听到对该函数的批评,如果由于某种原因页面刷新太快,会话ID将变为无效.
使用会话ID的另一种方法是更多地控制会话的生成方式.
还有其他方法可以实现这一点.最佳做法是什么?
fir*_*ire 27
调用session_regenerate_id每一页都是不必要的开销.
您应该只在登录时或任何重新授权用户时调用它.
如果你想要额外的,你可以将最后一次重新生成的时间存储在一个会话中,然后session_regenerate_id在30分钟之后调用,但绝对不需要在每个页面上完成.
我确实遇到了问题(在页面刷新或在ajax请求中), session_regenerate_id(true);在每个请求上使用.
但不是 session_regenerate_id();
所以,根据
任何权限级别更改后续订会话ID https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Renew_the_Session_ID_After_Any_Privilege_Level_Change
每次请求都重新生成SID http://en.wikipedia.org/wiki/Session_fixation#Regenerate_SID_on_each_request
我用
session_regenerate_id(); 在每个请求上session_regenerate_id(true); 登录,注销等(任何权限级别更改)| 归档时间: |
|
| 查看次数: |
16560 次 |
| 最近记录: |