2017-02-02 12 views
1

私と私の同僚がサイトを開発していて、騒々しいことが起こりました。セッションの有効期限とブラウザのオプション:ナンセンス

私たちは同僚に、すべてのタブとブラウザのウィンドウを閉じて(セッションを破棄する)、新しいものを開始するように指示しました。彼はそれをし、同じエラーで戻った。われわれは彼のブラウザを設定したことを理解しました(クロームの場合、このオプションは他のブラウザにもあります):Settings -> On start -> continue where finished(またはそのようなもの、私のブラウザは英語ではありません)。

私はこのようなブラウザを使用したことはありませんが、他の人が言うように、多くの人が使用しています。

この場合、ブラウザのクローズがセッションクッキーをクリアしていること、私が確認できる唯一の方法、ユーザーログアウト、ログアウトプロセスがセッションを破壊するかどうかは保証されません。ログインします)。

私は本当に悪い理由を説明するべきではないと思います。これで何ができますか?私は申し訳ありません、何もない、ブラウザはこのセッションを閉じたときに保存し、開いたらリロードします。

時間関連の解決策は受け入れられません。

どのように皆さんがPHPスクリプトでこの動作を処理していますか?公共の場所では、これは人命の脅威です。

答えて

1

セッションは、時間ベースです。誰もまだより良い実用的な解決策を持っています。

ブラウザ上で発生するイベントの制御が、再起動時にクッキーをクリーンアップするかどうかなど、制御できません。ブラウザーの製造元がユーザーにいくつかのオプションを尋ねるかもしれません。

このセキュリティモデルにはいくつかの脆弱性がありますが、クライアントからの協力がなければ本当に安全なシステムはありません。この問題を軽減するため

技術が含まれます:まもなく期限切れに

  • セッションをあらゆる形態で
  • CSRFトークンを(各ページのロードにそれらを更新することができます)そのパスワードをユーザに再尋ねる
  • パスワードの変更など、実際に敏感な操作の場合
+0

ありがとう。私が言ったように、私はこのオプションを試したことはありませんでした。私はこのブラウザの動作を知らなかった。面白いことに、オペラはそうしなければならないので、それは私がどこにいたのか、セッションを覚えていないページに移動します。 – vaso123

関連する問題