一小时后可靠的自动注销

时间:2013-05-29 14:40:21

标签: php automation logout

我有一些javascript应该在一小时后让你退出但它有一些问题,首先,它不会在一小时后退出,通常大约20分钟,其次它不会总是在100%的时间工作,比如说我一夜之间离开我的电脑有时候我仍然登录(可能不在PHP会话中)和同一页面。

我有一种感觉,如果屏幕关闭,它会暂停javascript计数器。

代码是:

var delay = 3600000;
setTimeout(function(){ window.location =  base_url + 'user/logout' }, delay);

有更好的更可靠的方法吗?它是如何在银行网站上完成的?

编辑:我不是说这会实际注销用户,当然那是服务器端,我只想让页面在一小时后自动重定向到登录页面,只是就像银行说“你因为不活动而被退出了”。

这是因为我会不希望一夜之间将某些敏感数据留在某人的屏幕上

1 个答案:

答案 0 :(得分:1)

您可以在窗口对象上附加焦点和模糊事件处理程序,以跟踪窗口是否获得焦点。

此外,在超时后退出用户是个坏主意(可能有用户活动,ajax请求)。最好通过ajax请求在服务器端检查会话是否存在,并且只有在它过期时,删除文档内容并显示弹出窗口,其中包含有关会话到期的消息。