gpt4 book ai didi

php - extent codeigniter session 过期

转载 作者:可可西里 更新时间:2023-11-01 00:46:21 26 4
gpt4 key购买 nike

我的 config.php 文件中有 $config['sess_expiration'] = 7200;,这意味着该 session 持续 2 小时。

默认情况下, session 是在用户登录时创建的。现在我想根据用户空闲状态结束 session 。

因此,当用户在页面上处于事件状态时,我需要更新 session 。

例如

每 2 分钟通过 ajax 向服务器轮询一次当前用户状态,IDLEACTIVE

如果状态为 ACTIVE,那么我想从 ajax 调用开始将 session 超时延长/更新/更新 2 小时。

事实上,如果状态是IDLE,我将在网页上运行一个计时器,在它达到超时(2 小时)之前,我需要向用户显示警告 ==>

“您的当前 session 即将到期。您要续订 session 吗?”

如果用户单击YES,那么我想将 session 再延长 2 小时,否则我将发送一个 LOG OUT 命令。

所以问题是:我如何以编程方式更新/更新/延长 session 超时?

还有没有其他更好的解决方案。

我正在使用 PHP 5、Codeigniter 2.x、Bitauth(用户身份验证)。

谢谢

最佳答案

只需使用 $config['sess_time_to_update'] = 30;//seconds 如果用户空闲并且 session expiration 时间结束,即 $config['sess_expiration'] = 7200; 将更新 session 超时,然后用户点击任何链接都会自动注销,因为 CI 检查每个请求的 session 是否 session expiration 时间是否超过到期时间然后你的 session 被销毁。如果用户在一小时后点击任何请求,那么您的 sess_time_to_update 会将 sess_expiration 更新为从现在到两个小时。默认情况下,CI 在定义的时间间隔内创建一个新的 session ID $config['sess_time_to_update'] = 30; 即每 30 秒后将创建一个新的 session ID

要深入观察,您可以在库 sess_update() 中看到 Session.php 是更新 session 的函数,因此您可以很好地了解 CI 的作用如果你没有使用database session,那么 CI 会将信息存储在 cookie 中,否则它会将数据存储在 ci_sessions 表中

关于php - extent codeigniter session 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17503144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com