在开始新生成的会话之前,禁用[session.use_strict_mode]

时间:2018-07-21 10:30:26

标签: php session initialization

我在PHP MANUAL上看到了这段代码,但我无法获取=>

为什么在开始新生成的会话之前先禁用session.use_strict_mode,然后再次启用它?

$new_session_id = session_create_id();
$_SESSION['new_session_id'] = $new_session_id;

session_commit();

session_id($new_session_id);
ini_set('session.use_strict_mode', 0);
session_start();
ini_set('session.use_strict_mode', 1);

unset($_SESSION['destroyed']);
unset($_SESSION['new_session_id']);

1 个答案:

答案 0 :(得分:2)

启用严格模式后,未初始化的会话ID将被丢弃。因此,使用代管会话的应用程序 自然可能行不通。如果设置了阻止新会话ID的恶意Cookie,则会话模块将继续尝试生成 新的会话ID和会话将无法使用。