ログインページを作成しています。私がログアウトすると、私はクッキーをクリアします。ログアウト後に戻るボタンを押すと、セッションが復元されます。どうすればセッション復元を回避できますか。ログアウトしたセッションは、戻るボタンによって復元されます。
答えて
これはおそらく誤解です。
戻るボタンを押すと、ブラウザのページがキャッシュされている可能性が最も高いです。これはではありません。はあなたがまだログインしていることを意味します。
前のページを更新してみてください。ログインダイアログが表示されます。
このようにページが表示されないようにするには、hereがブラウザのキャッシュをオフにする方法です。
実際にログインしている場合は、何か問題があります。その場合、いくつかのコードを見る必要があります。
キャッシュをクリアした後でも、ブラウザが情報の再送信を求めるメッセージが表示された後に復元されます。 – user513458
@userああ、これは別のケースです。実際にはログイン情報が再送信されます。ユーザーをログインさせると(コンテンツをすぐに表示するのではなく)、ターゲットページにヘッダーをリダイレクトすることで、回避することができます。 –
はいこれに対処するにはリダイレクト後ポストパターンを使うべきです –
問題の迅速かつ簡単な修正は、session_destroy php man pageで提供されています。
phpでセッションを作成しないで、ログインしたデータをクッキー経由で削除することは可能ですか? – user513458
コメントから、ブラウザで[戻る]をクリックすると、ブラウザはPOSTデータを再送信するように求めるメッセージが表示されます。もちろん、これを行うと、ログインデータを再送信するだけですぐにユーザーをログインさせることができます。POSTデータを再送する迷惑なブラウザのプロンプトを回避し、ユーザーのログインを回避するソリューションは、 「リダイレクト後のポスト」パターン
あなたのログインフォームのPOSTターゲットを他のページ - ではなく、あなたのログインのようこそページなどにしてください。このターゲットページはログイン情報を処理し、承認、を実行し、ウェルカムページ(成功時)または認証に失敗した場合はログインページにリダイレクトをリダイレクトします。
ブラウザのプロンプトとに戻ってログインしているユーザーを避けることができます。本当にそれがより良いユーザー体験をもたらし、あなたが経験したような落とし穴を避けるように、すべてのフォームは、このパターンを実装する必要がありますこの方法です。
コードの下にお試しください。 ログアウトしたセッションは、戻るボタンの問題によって復元されました。
リンク:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
codingsolver.comリンクは死んでいるように見えます。 – Jbecwar
- 1. ブラウザ[BACK]ボタンをクリックしてセッション変数を復元します
- 2. ワークシートの全バージョンを復元するVBAの[元に戻す]ボタン
- 3. 保存された状態からビュー階層を復元しても、プログラムによって追加されたビューは復元されません
- 4. django:Firefoxの戻るボタンでユーザーセッションを復元しないようにする
- 5. History.jsで戻るボタンをクリックするとコンテンツが復元される
- 6. iOS:アプリがフォアグラウンドに戻ったときに以前に表示されたビューを復元しますか?
- 7. JSFがログアウトしましたセッションが削除されました
- 8. ログアウト後のCodeIgniter戻るボタン
- 9. 戻るボタンをクリックしてログアウトした後、jspページをリロード
- 10. フラグメント化されたダイアログを復元時に復元する
- 11. 元に戻すbzr復帰
- 12. SourceTree元に戻す復帰
- 13. 誤ってエンコードされた文字を復元する(Java)
- 14. TortoiseSVN - 復元を元に戻す
- 15. イメージピッカーから戻った後の状態を復元する
- 16. bitbucketプルリクエストによって作成されたgitマージを元に戻す
- 17. カスタマイズされた最小化ボタンのウィンドウサイズを復元する
- 18. Firefoxの戻るボタンのオブジェクトクラスを復元する
- 19. 戻るボタンでユーザーがログアウトする
- 20. ログアウト後にセッションが破棄される
- 21. ログアウト後に「戻る」ボタンをクリックしたユーザーを扱う方法
- 22. 復帰したローカルコミットを元に戻してメインにリセットします
- 23. ブラウザがセッションを復元したときに検出する
- 24. openface.AlignDlib.alignによって行われた変換を元に戻すには?
- 25. 戻って元に戻すか?
- 26. ウィンドウを元の状態に戻す方法(復元または最大化)?
- 27. ログアウト後に戻るボタンでログインページを表示するには?
- 28. 戻るボタンを使用しているときに、角度コントローラでフィルタリングされた状態を復元する方法はありますか?
- 29. Google Cloud Datastore Backupの復元は成功しましたが、復元されたデータはありません
- 30. "???????"として保存された元のデータを復元します。 MySQLデータベース
あなたはセッションが復元されることを考えさせる何? –
設定したクッキーとは対照的に、セッションを追跡するためにフレームワークが使用しているセッションクッキーを削除してもよろしいですか? –