extent codeigniter会话到期

Red*_*Red 3 javascript php session jquery codeigniter

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

默认情况下,会话是在用户LOGIN上创建的.现在我想基于用户IDLE状态持续会话.

因此,当用户在页面上处于活动状态时,我需要更新会话.

防爆.

通过具有当前用户状态的ajax每2分钟对服务器进行一次POLL,IDLE或者ACTIVE

如果状态是ACTIVE那么我想从ajax调用延长/更新/更新会话超时另外2小时.

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

"你当前的会议即将到期.你想续会吗?"

如果用户点击,YES那么我想将会话延长2个小时,否则我将发送一个LOG OUT命令.

问题是:如何以编程方式更新/更新/扩展会话超时?

还有其他更好的解决方案.

我使用PHP 5,Codeigniter 2.x,Bitauth(用户身份验证).

谢谢

M K*_*aid 5

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

深入了解一下,您可以看到Session.php库中的库sess_update()是更新会话的功能,因此您可以很好地了解CI如果不使用database会话,CI会将信息存储在cookie中,否则它会将数据存储在ci_sessions表中