[英]Confusion with PHP session_regenerate_id
关于我正在执行的会话的安全性,我是否在session_regenerate_id
方面遇到问题。
我正在处理的代码与php.net上的用户帖子非常相似,但针对该问题我将其简化了如下:
ini_set('session.save_handler', 'files');
session_save_path(dirname(__FILE__).'/tmp');
session_start();
$_SESSION['Test'] = "info";
$_SESSION['Test2'] = "more info";
$orig = session_id();
session_regenerate_id();
echo "Original session is ".$orig."<br>";
echo "Regen session is ".session_id()."<br>";
输出到屏幕
原始会话为o9t1rhb2o9affn1ljisic1tas1
再生会话为gu9pkhi3loklr02r23m8lkvoh4
o9t1rhb2o9affn1ljisic1tas1的内容是
gu9pkhi3loklr02r23m8lkvoh4的内容是
Test | s:4:“信息”; Test2 | s:9:“更多信息”;
如您所见,只有新会话包含任何数据,原始会话为空。 我期望两者都包含相同的数据。
我是否在这里缺少某些东西,或者这是正确的行为?
阅读手册 :
session_regenerate_id()将用新的ID 替换当前的会话ID,并保留当前的会话信息。
session_regenerate_id(true); // Delete old session (default)
session_regenerate_id(false); // Keep old session
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.