[英]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.