0

わかりました、私はphpセッションについて完全に初歩的な質問を1つ持っています:

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

セッションのタイムアウトを自分で処理する必要はありません。ほぼ確実に、Web サーバーが既にそれを処理しています。セッションが存在するかどうかを確認し、そのセッションにログイン情報があることを確認するだけです。

また、「何をするのが正しいのか」に関しては、すべてのphpファイルの先頭でそれを必要とする場合は、「require_once」を使用することを忘れないでください。他のファイルを含めると同じことを何度も行う意味がないからです. また、常にサイトのすべてのページではなく、保護されたユーザーのみが必要であることがわかっているページでのみこれを行う必要がある場合があります。

于 2012-06-24T21:19:00.670 に答える