其中我们将为我们提供有关如何使 PHP 会话过期的分步教程。
假设我们打算在 30 分钟后使用户的会话过期。
使用 PHP 做到这一点的最佳方法是手动操作。
因此,让我们尝试手动使 PHP 会话过期。
这是你应该做的:
<?php
//开始会话
session_start();
//如果用户处于非活动状态 30 分钟或者更长时间,则使会话过期。
//
$expireAfter = ;
//测试以确保我们的“最后操作”会话变量是否已设置。
//
if(isset($_SESSION['last_action'])){
//找出自用户上次处于活动状态以来已经过去了多少秒。
//
$secondsInactive = time() - $_SESSION['last_action'];
//将分钟转换为秒。
$expireAfterSeconds = $expireAfter * ;
//测试以确保它们没有活动太长时间。
if($secondsInactive >= $expireAfterSeconds){
//用户已经很长时间没有活动了
//杀掉会话
session_unset();
session_destroy();
}
}
//将当前时间戳设置为用户的最新操作时间
//
$_SESSION['last_action'] = time();
下面,我们可以找到上面代码的解释。
每个会话都应该以 session_start() 开始。
请注意,在会话开始之前无法访问会话变量。
在上述情况下,限制设置为 30 分钟。
但是,我们可以自由地将限制更改为 60 或者 40 分钟。
isset 函数用于检查是否存在名为“last_action”的变量。
$expireAfter 变量通过乘以 60 转换为秒。
然后,比较这两个值以检查用户是否处于不活动状态的时间过长。
如果 $secondsInactive 大于或者等于 $expireAfterSeconds,则用户处于非活动状态的时间过长。
之后,我们应该使用 session_unset 和 session_destroy 函数终止当前会话。
日期:2020-06-02 22:15:48 来源:oir作者:oir
