什么session_regenerate_id()啊
就像函数名称所说的那样,它是一个函数,它将用新的ID替换当前的会话ID,并保留当前的会话信息。
它有什么作用?
它主要有助于防止会话固定攻击。会话固定攻击是恶意用户试图利用系统中的漏洞固定(设置)另一个用户的会话ID(SID)的地方。这样,他们将拥有原始用户的完整访问权限,并且能够执行原本需要身份验证的任务。
为防止此类攻击,请在用户session_regenerate_id()成功登录时(或对于每个X请求)使用用户分配新的会话ID 。现在只有他具有会话ID,而您的旧(固定)会话ID不再有效。
我session_regenerate_id()什么时候应该使用?
正如symbecean在下面的注释中指出的,会话ID必须在身份验证状态下的任何转换都必须更改,并且只能在身份验证转换时更改。
进一步阅读:
http://php.net/session_regenerate_id
https://www.owasp.org/index.php/Session_fixation
http://en.wikipedia.org/wiki/Session_fixation
https://wiki.php.net/rfc/precise_session_management