用户不活动注销PHP

use*_*391 6 php session timeout logout user-inactivity

我希望我的用户在X分钟不活动后自动注销.我也想要破坏所有会话.

如何才能做到这一点?如何检查不活动然后执行一个函数来记录它们?

Yso*_*oL8 10

我厌倦了Michiels的方法并且没有在哪里.在调查中,我看到if语句只是将到期时间段添加到当前时间,因此该语句从未触发.

这是我的修改版本:

登录用户或加载安全页面时设置此项:

 $_SESSION['expire'] = time()+1*60;
Run Code Online (Sandbox Code Playgroud)

并使用它来查看到期时间是否小于当前时间(即我们已超过到期限制):

if(time() > $_SESSION['expire']){
 $user -> logout();
}
Run Code Online (Sandbox Code Playgroud)


Mac*_*iel 3

你还可以这样做:

$_SESSION['loginTime'] = time();
Run Code Online (Sandbox Code Playgroud)

在每个页面上,当用户尝试导航并且他已经处于非活动状态二十分钟时,您可以像这样将他注销:

if($_SESSION['loginTime'] < time()+20*60){ logout(); }
Run Code Online (Sandbox Code Playgroud)