0

好的,我有一个关于 php 会话的完全菜鸟问题:

我有 3 个(以及更多)php 页面,我需要使用登录系统和会话来保护它们。现在,我将其包含在每一页的顶部:

session_name('somename');
session_start();

if(!$_SESSION['user_loggedIn']){
    header("location: login.php");
}

if (isset($_SESSION["timeout"])) {
$inactive = 900;
    $sessionTTL = time() - $_SESSION["timeout"];

      if ($sessionTTL > $inactive) {
        session_destroy();
        header("location: login.php");
      }

}

问题:添加诸如 include session.php 之类的内容是否正确?到每个 php 文件的顶部,ofc。session.php 将只包含上面的代码。

4

1 回答 1

1

您不需要自己处理会话超时,您的网络服务器几乎肯定已经为您处理了。您需要做的就是检查会话是否存在,并确保您在该会话中有登录信息。

此外,就“什么是正确的做法”而言——如果您在每个 php 文件的顶部都需要它,请记住使用“require_once”,因为如果您包含其他文件,一遍又一遍地做同样的事情是没有意义的. 此外,您可能只需要在您知道只需要安全用户的页面上执行此操作,而这并不总是站点的每个页面。

于 2012-06-24T21:19:00.670 回答