PHPのセッションについて混乱しています。私の質問は、セッションが破棄されているかどうかにかかわらず、ユーザーがログアウトせずに赤い十字ボタンを直接閉じたときです。彼が再びそのページを開くと、ログインを求められるか、アプリケーション内に誘導されますか?
私はググってみましたが、ログインに向けられると言っている人もいれば、アプリケーション内に向けられると言っている人もいます。
PHPのセッションについて混乱しています。私の質問は、セッションが破棄されているかどうかにかかわらず、ユーザーがログアウトせずに赤い十字ボタンを直接閉じたときです。彼が再びそのページを開くと、ログインを求められるか、アプリケーション内に誘導されますか?
私はググってみましたが、ログインに向けられると言っている人もいれば、アプリケーション内に向けられると言っている人もいます。
デフォルトのセッションCookieは、ブラウザ ウィンドウを閉じると期限切れになるように設定されています。サーバー上の対応するセッションは、ガベージ コレクトされるまでしばらくの間存在し続けます。ユーザーが Cookie を復活/保持できる場合、ユーザーは引き続きセッションを使用できます。ただし、ブラウザを閉じると、ブラウザは Cookie を破棄します。明示的な有効期限を指定してセッション cookie の設定を変更できます。つまり、有効期限が切れるまで存続し、ユーザーに永続的なログイン ステータスを与えることができます。
以下は、微調整できるすべてのセッションおよびセッション Cookie 関連の設定ですini_set
: http://php.net/manual/en/session.configuration.php
セッション Cookie の有効期限を変更しない限り、ブラウザ ウィンドウを閉じると、PHP セッションは自動的に期限切れになります。
さらに、あなたが説明したどんなシーンでも、Cookie
一定期間 Cookie (永続的) を設定すると、それまでログインを要求されず、ログイン資格情報が保存されます。
最後のページでのリダイレクトは、ブラウザーではなくロジックによって行うことができます。
php.iniで0の 場合は、ブラウザを閉じるたびに確認しsession.cookie_lifetime
てください。それはセッションを破壊します