相关疑难解决方法(0)

当我在PHP中使用session_regenerate_id(true)时,session_destroy会带来什么附加值?

我一直在阅读手册和网页上的各种页面,包括很多关于SO的问题.但是,我仍然无法session_destroy()理解PHP中的概念以及其他未设置会话数据的方法.

对于从未$_SESSION超全局数组外部注册会话变量的站点,请考虑这一点.

session_start();
$_SESSION = array();
session_regenerate_id(true); // New cookie + old session file on server deleted
session_destroy();  // What does PHP do here that was not done above?
Run Code Online (Sandbox Code Playgroud)

请注意,我已经构建了多年的工作登录注销脚本.这个问题不是要让事情发挥作用,而是我想要准确理解发生了什么.

(SO上的很多答案也使用session_unset()了取消注册变量.但是,我从不使用session_register(),所以这看起来真的很多.)

php session

6
推荐指数
2
解决办法
952
查看次数

session_regenerate_id()与session_id(randomString)

session_id($randomString)和之间的明显区别是session_regenerate_id()什么?两者似乎都更改了会话ID:

session_regenerate_id()将用一个新的ID替换当前的会话ID,并保留当前的会话信息。

session_id()用于获取或设置当前会话的会话ID。

如果我做对了,session_regenerate_id()创建一个新的会话文件并复制数据,并带有删除旧文件的选项。同时session_id($randomString)只需更改现有文件中的会话ID。

如果是这样,复制文件有什么好处?从防止会话固定的角度来看,如何更好?

这个答案,或者我找到的任何其他答案,都无法回答我的问题。

php session

4
推荐指数
1
解决办法
624
查看次数

标签 统计

php ×2

session ×2