如果用户处于空闲状态,会话自动到期

时间:2014-01-31 09:39:22

标签: php

如果用户空闲时间长达10分钟,我还需要销毁会话,以及如何查找用户上次活动的时间,

if ($_SESSION['last_activity'] > 600)
{
 session_unset();   
 session_destroy();
}

这是正确的方法..

3 个答案:

答案 0 :(得分:2)

使用session.gc_maxlifetime

Set session.gc_maxlifetime = 600 in phi.ini

ini_set('session.gc_maxlifetime',600); // in your script

答案 1 :(得分:0)

//on pageload
session_start();

$idletime=60;//after 60 seconds the user gets logged out

if (time()-$_SESSION['timestamp']>$idletime){
    session_destroy();
    session_unset();
}else{
    $_SESSION['timestamp']=time();
}

//on session creation
$_SESSION['timestamp']=time();

答案 2 :(得分:0)

在重置时间之前检查活动:

if (isset($_SESSION['last_activity']) && $_SESSION['last_activity'] > 600){
    session_unset();   
    session_destroy();
}else{
    $_SESSION['last_activity'] = time();
}