web-dev-qa-db-ja.com

FireFoxの以前のセッションを復元すると、サーバーのセッションによって認証されたログインが復元されます

ログインして作成しているWebサイトで、FireFoxを閉じ、FireFoxを開いて、もう一度Webサイトにアクセスしようとすると、もう一度ログインする必要があります(期待どおり)。多くのユーザーがブラウザを閉じた後にログアウトすることを期待しているので、私はこれをセキュリティの脅威と考えています。有効なセッションを確認する

session_start();
if(isset($ _ SESSION ['loggedIn']))

これがtrueの場合、ユーザーはログインしています。

I.E.これを再現することができませんでした。どうすれば修正できますか?

4
Celeritas

PHPを設定するsession.cookie_lifetime=0。値がゼロの場合、ブラウザーが閉じるときにセッショントークンは破棄されます。 session.gc_maxlifetimeは、一定期間後もセッションを破棄します。

5
rook

これは、少なくとも2008年以降のFirefoxの長期にわたるセキュリティバグです。たとえば、 https://bugzilla.mozilla.org/show_bug.cgi?id=443354#c48 (「保存して終了」を参照してください。タブは、復元されるタブのセッションCookieを保存しないでください。」)。

詳細と回避策は https://support.mozilla.org/de/questions/938865 の「Firefoxは終了時にCookieを削除しません。いつ削除しますか?」にも記載されています。

回避策はabout:configを使用して設定します

  • browser.sessionstore.privacy_level = 1または2
  • browser.sessionstore.privacy_level_deferred = 1または2

上記のバグレポートのコメント48に記載されています。

2
Frank Breitling

これはバグではなく、機能です。

Firefoxのセッションの復元機能は、その名前が示すように、…セッションを復元するためのものです。セッション全体。タブの状態、フォームデータなど…すべて。そして、これは素晴らしいことです。これがセッション復元の目標です。

Mac OS X Mountain Lion のアプリケーションは、iPadと同様、ステートフルになりました。アプリの終了時に状態が保存され、再起動時に復元されます。 Macアプリケーションのこの動作は、現在 Appleの開発者向けガイドライン で推奨されています。

コンピュータシステムはますますこのように動作し、これは良い動きです。それに慣れるほうがいい。これは、私たちの習慣のために、最初はやや不安になる可能性があります。しかし、初心者にとっては、それはより自然です。紙のアナロジーを考えることは常に良い考えです。たとえば、ノートに書いていて、文章の途中で、突然ノートを閉じて寝たとします。 「保存」アクションを考えずに、「保存」アクションを実行することなく。 3日後、ノートブックをもう一度開くと、ページを残していたとおりに正確に見つかります。このユーザーエクスペリエンスは優れています。コンピュータソフトウェアでも、同じユーザーエクスペリエンスが良いので、期待しています。

1

終了時にすべてのCookieを破棄するようにFireFoxを設定した場合、これは起こりますか? Cookieを適切に制御し、いつ破棄するかを支援するアドオンがいくつかあります。これにより、起動の間にCookieが確実に破棄されるようになります。

FireFoxプライバシー設定 がアドオンなしでこの組み込みを実行するかどうかはわかりません。

1
Eric G