用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5185|回复: 5
收起左侧

[讨论/交流] ajax 定时导致session永远不会过期

[复制链接]
发表于 2011-11-12 19:06:54 | 显示全部楼层 |阅读模式
本帖最后由 zfm1988 于 2011-11-12 19:08 编辑

是这样的,前台有一个ajax 轮询去后台拿数据,来实时更新用户信息。用到了js的setTimeout 函数,可悲是每次ajax方法都会更改数据库中sessin的最后活动时间,导致了session永远都不会过期。!!

session 是使用  KNDB Session  一个服务器端的session 。(没有使用CI的原生态session,因为ajax访问多了,很容易失效!!)

请问各位大侠有啥好的解决方法吗?
拜谢!!!
 楼主| 发表于 2011-11-14 10:29:35 | 显示全部楼层
目前想到的方法是重载下kndb的session,判断是否是定时脚本的ajax访问,如果时在不更新session 的最新活动时间。
发表于 2011-11-15 15:24:08 | 显示全部楼层
本来 ajax 访问就是要防止 session 失效的。。。。。。
你这个要反着来,就只能自己去改了,呵呵
 楼主| 发表于 2011-11-17 10:32:21 | 显示全部楼层
Hex 发表于 2011-11-15 15:24
本来 ajax 访问就是要防止 session 失效的。。。。。。
你这个要反着来,就只能自己去改了,呵呵 ...

可是如果一个人在网站待的时间太久,必须要让他session timeout,如果有ajax的定时的话,自然无法注销。这就存在一个问题了。
呵呵,感谢回答!!
发表于 2011-11-17 11:23:30 | 显示全部楼层
zfm1988 发表于 2011-11-17 10:32
可是如果一个人在网站待的时间太久,必须要让他session timeout,如果有ajax的定时的话,自然无法注销。 ...

这个就是需求决定的了,呵呵,有的需求要 timeout,有的需求不需要 timeout 呵呵
 楼主| 发表于 2012-1-10 12:54:56 | 显示全部楼层
Hex 发表于 2011-11-17 11:23
这个就是需求决定的了,呵呵,有的需求要 timeout,有的需求不需要 timeout 呵呵 ...

在后发现,使用firebug+firephp在调试成功是会修改 header,所以导致验证失败。
QQ截图20120110125345.png

本版积分规则