PHP Sessions基础知识

时间:2012-06-24 21:14:07

标签: php

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

我有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只包含上面的代码。

1 个答案:

答案 0 :(得分:1)

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

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