厳格なPHPセッションタイムアウト時間設定方法


最近あるPHPプロジェクトはログイン時間を制限する機能を使っています。例えば、ユーザー登録システムの60分後に操作がないと自動的に終了します。インターネットを検索して、以下の方法があります。
最初の方法はphp.iniプロファイルを設定し、session.gc_を設定することです。maxlifetimeとsession.co okie_lifetimeノード属性値は、もちろんini_も使用できます。set関数は、現在のコンテキスト環境の属性値を変更します。

ini_set('session.gc_maxlifetime', "3600"); //
ini_set("session.cookie_lifetime","3600"); //
第二の方法は次のようにSessionタイムスタンプを設定します。
ログイン成功時にタイムスタンプを設定し、現在の時間を押してから1時間後に設定します。SESSION['expiretime'=time()+3600;。ユーザー登録状況を確認するには下記のコードを使います。

if(isset($_SESSION['expiretime'])) {
    if($_SESSION['expiretime'] < time()) {
        unset($_SESSION['expiretime']);
        header('Location: logout.php?TIMEOUT'); //
        exit(0);
    } else {
        $_SESSION['expiretime'] = time() + 3600; //
    }
}
文章の「https://www.jb51.net/article/52961.htm」によって、第1の方法と第2の方法を組み合わせて最終的にセッションのタイムアウト時間を決めることができます。