处理会话在javascript或服务器端超时

时间:2014-09-28 06:19:07

标签: javascript php session settimeout session-timeout

我有一个网站,目前我正在使用Javascript处理客户端的超时,因此我没有请求我将用户注销,但我看到SO上的人建议采用相同的方法,而我看到一个很大的失误,假设用户打开了2个标签。

Tab 1:
www.MYSITE.com/welcome.php

Tab 2: 
www.MYSITE.com/edit_profile.php

现在,如果用户在Tab 2上并且他正在编辑那里的配置文件,则Tab 1处于空闲状态,这意味着用户将被注销/显示警告(处理空闲时间的方式)。

所以这似乎并不一致,在我的想法中它应该在服务器端,我的方法是否正确?

1 个答案:

答案 0 :(得分:1)

一种方法可能是,

如果是Ajax,每当您向服务器发送任何请求时,您都可以使用isset($_SESSION['variable'])检查会话是否过期,发送回复SESSION_TIMEOUT&然后在ajax回调中,检查这个响应。

如果找到,请向用户显示一条消息' SESSION已过期!' &安培;重定向到初始页面(可能是登录页面)。