ログインページを作成しています。私がログアウトすると、私はクッキーをクリアします。ログアウト後に戻るボタンを押すと、セッションが復元されます。どうすればセッション復元を回避できますか。ログアウトしたセッションは、戻るボタンによって復元されます。
答えて
これはおそらく誤解です。
戻るボタンを押すと、ブラウザのページがキャッシュされている可能性が最も高いです。これはではありません。はあなたがまだログインしていることを意味します。
前のページを更新してみてください。ログインダイアログが表示されます。
このようにページが表示されないようにするには、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. 保存された状態からビュー階層を復元しても、プログラムによって追加されたビューは復元されません
- 3. History.jsで戻るボタンをクリックするとコンテンツが復元される
- 4. iOS:アプリがフォアグラウンドに戻ったときに以前に表示されたビューを復元しますか?
- 5. ログアウト後のCodeIgniter戻るボタン
- 6. フラグメント化されたダイアログを復元時に復元する
- 7. JSFがログアウトしましたセッションが削除されました
- 8. 元に戻すbzr復帰
- 9. TortoiseSVN - 復元を元に戻す
- 10. イメージピッカーから戻った後の状態を復元する
- 11. Firefoxの戻るボタンのオブジェクトクラスを復元する
- 12. ログアウト後に「戻る」ボタンをクリックしたユーザーを扱う方法
- 13. ウィンドウを元の状態に戻す方法(復元または最大化)?
- 14. ページに戻ったときにラジオボタンの選択を復元する
- 15. ファイルを元に戻すためにgit checkoutを使用します - とにかく復元するには?
- 16. 競合によって元に戻されたコミットを再適用しますか?
- 17. セッションはdjango-all authによってリセットされています
- 18. ログアウト後の履歴をクリアし、ブラウザに戻ってログオンするようにリダイレクトするgmail、facebookのようにブラウザの戻るボタンをクリックすると
- 19. Git:押し戻された変更を元に戻すには、復帰またはチェックアウトを使用しますか?
- 20. Firefoxセッションを復元できません。
- 21. NSUndoManager - 元に戻すボタンが表示されない
- 22. セッションが破棄された後に戻るボタンを無効にする方法はありますか?
- 23. jQueryの - - ボタンを戻ったり待って、あなたが自動リダイレクトされますが、ボタン
- 24. Gitでは、コミットする前に元に戻されたステージングされたファイルをどのように回復できますか?
- 25. プッシュされたコミットを元に戻して、それが起こったことがないようにするにはどうすればよいですか?
- 26. fabric.js 'rectangle'は復元されません。
- 27. PHPセッションがクッキーから復元されない
- 28. iPhoneアプリがフォアグラウンドに戻って元の状態に戻り、キーボードがまだ表示されています
- 29. Qt:信号とスロットのメカニズムによってプリファレンスが復元されない
- 30. Eclipseで削除されたパースペクティブを復元するには
あなたはセッションが復元されることを考えさせる何? –
設定したクッキーとは対照的に、セッションを追跡するためにフレームワークが使用しているセッションクッキーを削除してもよろしいですか? –