我目前正在使用PHP(7.2)开发一个项目。我在每个请求上都调用session_regenerate_id()
函数,以防止会话劫持攻击(这在检测被劫持会话的整个过程中只是一小部分)。
问题如下:我希望在服务器上管理许多会话,是否应该检查新的session_id()
值(在我称为session_regenerate_id()
之后)是否已被另一个(现有)会话使用?换句话说:session_regenerate_id()
是否没有冲突?
我知道函数session_create_id在活动会话(会话开始后)中使用时不会发生冲突,但是手册中并未提及session_regenerate_id函数。
有什么想法/建议吗? 谢谢。
答案 0 :(得分:1)
是的。 session_regenerate_id
calls session_create_id
,因此也没有碰撞:
sid = php_session_create_id((void**)&data);