我正在做一个项目,根据要求,我应该注销一个已经不活动 1 小时的用户,例如当他离开 PC 或他没有在该选项卡中进行交互时。
问题是现在我有以下 PHP 代码:
// Checking the session
if (!isset($_SESSION['created'])) {
$_SESSION['created'] = time();
} else if (time() - $_SESSION['created'] > 3600) {
// session started more than 1 hour ago
session_regenerate_id(true); // change session ID for the current session and invalidate old session ID
$_SESSION['created'] = time(); // update creation time
logOut();
}
显然,这段代码“不能正常工作”。因为它在启动后 1h 删除了用户的会话(无论它是否处于非活动状态)。
如何让我的代码知道用户已经不活动 1 小时以便我可以注销?
感谢一切。
我会从客户端进行验证。您可以使用 JQuery 创建一个脚本,用于检测用户是否移动了鼠标或按下了某个键。