zfm1988 发表于 2011-11-12 19:06:54

ajax 定时导致session永远不会过期

本帖最后由 zfm1988 于 2011-11-12 19:08 编辑

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

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

请问各位大侠有啥好的解决方法吗?
拜谢!!!

zfm1988 发表于 2011-11-14 10:29:35

目前想到的方法是重载下kndb的session,判断是否是定时脚本的ajax访问,如果时在不更新session 的最新活动时间。

Hex 发表于 2011-11-15 15:24:08

本来 ajax 访问就是要防止 session 失效的。。。。。。
你这个要反着来,就只能自己去改了,呵呵

zfm1988 发表于 2011-11-17 10:32:21

Hex 发表于 2011-11-15 15:24 static/image/common/back.gif
本来 ajax 访问就是要防止 session 失效的。。。。。。
你这个要反着来,就只能自己去改了,呵呵 ...

可是如果一个人在网站待的时间太久,必须要让他session timeout,如果有ajax的定时的话,自然无法注销。这就存在一个问题了。
呵呵,感谢回答!!

Hex 发表于 2011-11-17 11:23:30

zfm1988 发表于 2011-11-17 10:32 static/image/common/back.gif
可是如果一个人在网站待的时间太久,必须要让他session timeout,如果有ajax的定时的话,自然无法注销。 ...

这个就是需求决定的了,呵呵,有的需求要 timeout,有的需求不需要 timeout 呵呵

zfm1988 发表于 2012-1-10 12:54:56

Hex 发表于 2011-11-17 11:23 static/image/common/back.gif
这个就是需求决定的了,呵呵,有的需求要 timeout,有的需求不需要 timeout 呵呵 ...

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

页: [1]
查看完整版本: ajax 定时导致session永远不会过期