T-mobile已经使用了这个逻辑,但我不知道该怎么做。
这是一个场景:我登录我的网站并且根本不做任何事情2分钟,只需坐下来看屏幕。在这种情况下,我应该被重定向到注销页面,会话将被销毁。
我该怎么做?
网络上的示例基于用户操作,例如检查某些内容(上次活动等)用户活动。
注意:我正在使用Codeigniter及其数据库会话。
答案 0 :(得分:4)
你需要javascript:
<script type="text/javascript">
setTimeout(onUserInactivity, 1000 * 120)
function onUserInactivity() {
window.location.href = "onUserInactivity.php"
}
</script>
这将在2分钟不活动后重定向用户。如果你想让它取决于鼠标移动,请尝试:
<script type="text/javascript">
inactivityTimeout = False
resetTimeout()
function onUserInactivity() {
window.location.href = "onUserInactivity.php"
}
function resetTimeout() {
clearTimeout(inactivityTimeout)
inactivityTimeout = setTimeout(onUserInactivity, 1000 * 120)
}
window.onmousemove = resetTimeout
</script>
答案 1 :(得分:1)
所以,在页面加载
$now = mktime();
if($now - $_SESSION['last_activity'] < 120)
{
$_SESSION['last_activity']=mktime();
}else{
logout();
}
自上次活动以来已经过了120秒?将它们记录下来/销毁它们的会话等。
要让页面在空闲后自动注销,你应该使用javascript。
如果您希望在没有javascript的情况下进行此操作,并且没有来自用户的任何操作,请将其放在您的所有视图上:
<meta HTTP-EQUIV="REFRESH" content="120; url=http://www.yourdomain.com/logout.php">
它会在页面上120秒后将它们重定向到您的注销屏幕。如果他们点击那么