【发布时间】:2014-05-22 19:17:30
【问题描述】:
为什么以及何时应该在 php 中使用 session_regenerate_id() 函数?
使用session_start() 后是否应该一直使用它?
我听说我必须使用它来防止会话固定,这是唯一的原因吗?
【问题讨论】:
-
因为在会话启动后创建了它,并且在您启动会话时在另一个页面上存在变量:-
-
@HaRsH 哦? Session_regenerate_id 删除旧的会话 ID,并创建一个新的 ID,以避免使用 XSS 劫持会话。它对 SESSION 变量在其他文档中的可见性没有任何影响。
-
是的,我知道我对其他变量没有影响,但是如果您没有在该页面上启动会话,则该变量不会出现在核心 php 中的该页面上
-
但这是关于 session_regenerate_id,而不是关于 session_start...
-
我建议阅读提出它的 RFC:wiki.php.net/rfc/precise_session_management
标签: php session session-fixation