📜  如何在PHP更改会话超时?

📅  最后修改于: 2022-05-13 02:24:09.394000             🧑  作者: Mango

如何在PHP更改会话超时?

在PHP,维护会话以检查用户是否处于活动状态。当用户处于非活动状态并且用户忘记从网页注销时,其他用户可能会查看该页面,从而导致安全漏洞。默认情况下,当浏览器关闭时, PHP的会话会被销毁。可以自定义会话超时,使用户的页面在固定时间后处于非活动状态。
启动会话: PHP 的session_start()函数用于在网页中启动会话。
句法:

session_start();

会话变量:会话开始后,可以创建会话变量以备将来使用。可以创建会话变量并将值存储在这些变量中,如下所示:
句法:

  • 创建具有变量名称“var1”的会话变量并将“5”的值分配给它可以如下完成:
$_SESSION['var1']=5;
  • 将变量分配给会话变量可以通过以下方式完成:
$username="John";
$_SESSION['username']=$username;

销毁会话变量和会话:要删除在销毁会话之前初始化的所有会话变量,应使用以下命令:
句法:

  • 要销毁某个会话,应使用以下命令:
session_unset();
  • 要销毁整个会话,应使用以下命令:
session_destroy();

更改会话超时:考虑到在 HTML 表单中有一个带有“登录”按钮的登录页面。当用户单击“登录”按钮时,会话开始并设置会话变量。用于存储登录时间的会话变量被初始化。然后它被定向到用户的主页。

  • 登录页面:
php


php
600) 
    {
        session_unset();
        session_destroy();
        header("Location:login.php");
    }
}
else
{
    header("Location:login.php");
}
?>


在主页上,为了维护会话,调用session_start()函数。这使我们能够从此页面检索会话变量。使用time()函数,可以计算当前时间。当前时间与登录时创建的会话变量之间的差异不应超过所需的超时时间。当持续时间超过时,会话被销毁,页面被重定向到登录页面。
就像 Session timeout=10 minutes 一样。会话应在10 分钟后自动销毁= 10*60 秒 = 600 秒

  • 主页:

PHP

600) 
    {
        session_unset();
        session_destroy();
        header("Location:login.php");
    }
}
else
{
    header("Location:login.php");
}
?>