php - 在开始新生成的会话之前禁用 [session.use_strict_mode]
问题描述
我在 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']);
解决方案
当启用严格模式时,未初始化的会话 ID 将被丢弃。因此,使用过继会话性质的应用程序可能无法工作。如果设置了阻止新会话 ID 的恶意 cookie,会话模块将不断尝试生成新的会话 ID,会话将无法使用。
推荐阅读
- java - 将两个没有值的 json 响应与 Jackson 进行比较
- css - 使用具有不同父级的 SASS 混合的增量转换延迟
- python - Python - 不可靠的 shell 命令执行?运行 ir-ctl 命令时出现问题
- rust - 当它说“允许在没有 RAII 保护对象的情况下进行原始(解锁)锁定”时,parking_lot 文档是什么意思?
- python - 在python Dataframe中附加单词出现的计数
- c++ - C++ 存储和更新已排序项目的有效方法
- terminal - 在 Mac OSX Sierra 上使用 Homebrew 安装 gedit
- windows - 如何在 Windows 10 的音乐中编辑 MP3、FLAC 等文件的标题、贡献艺术家、专辑、年份等信息
- asp.net-web-api - 有没有办法从同一网络的多个设备中检索 cookie?
- assembly - 当我在 C 中调用 ASM 函数时,参数不会出现在堆栈上