我有一个网站,目前我正在使用Javascript处理客户端的超时,因此我没有请求我将用户注销,但我看到SO上的人建议采用相同的方法,而我看到一个很大的失误,假设用户打开了2个标签。
Tab 1:
www.MYSITE.com/welcome.php
Tab 2:
www.MYSITE.com/edit_profile.php
现在,如果用户在Tab 2上并且他正在编辑那里的配置文件,则Tab 1处于空闲状态,这意味着用户将被注销/显示警告(处理空闲时间的方式)。
所以这似乎并不一致,在我的想法中它应该在服务器端,我的方法是否正确?
答案 0 :(得分:1)
一种方法可能是,
如果是Ajax,每当您向服务器发送任何请求时,您都可以使用isset($_SESSION['variable'])
检查会话是否过期,发送回复SESSION_TIMEOUT
&然后在ajax回调中,检查这个响应。
如果找到,请向用户显示一条消息' SESSION已过期!' &安培;重定向到初始页面(可能是登录页面)。