如何使 PHP 会话过期

其中我们将为我们提供有关如何使 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