【发布时间】:2017-08-06 03:38:56
【问题描述】:
我正在尝试使用 session_id(); 获取会话 ID;但我知道它会在每 5 分钟后重新生成一次。
所以我得到了一个技巧,可以将随机数设置为用户定义的会话变量。喜欢,
$uniqueId = uniqid(rand(), TRUE);
$this->session->set_userdata("my_session_id", md5($uniqueId));
现在的问题是我应该把这段代码放在哪里。如果我将此代码放在控制器的构造函数中,它将在每个请求上执行。并且会为每个请求给我一个不同的会话 ID。
我怎样才能只设置一次这个会话变量?直到 session destroy() 才会改变。
【问题讨论】:
-
在成功登录后重定向用户并在会话中保存数据时在登录控制器中
-
但我也想为访客用户分配一个 session_id。
-
stackoverflow.com/questions/13945603/… ,这可能会有所帮助
-
尝试读取构造函数中的
my_session_id。如果它已经存在,请不要运行 setter。 -
请问您为什么要这样做?是因为保护 Session ID 免受 XSS 攻击吗?
标签: php codeigniter session