5

ブラウザがログアウト後にキャッシュされたページのコピーを使用しないようにするにはどうすればよいですか?

ユーザーがログアウトしても、戻るボタンを使用して前のページにアクセスできます。

戻るボタンを無効にできないことを理解しています(SOの回答による)。

現在、さまざまなシナリオで多数のページがあるため、すべてのページを変更することはできません。

私が試したこと

  1. 期限切れヘッダーの設定 (すべてのページでこれを設定する必要がありますか? また、これを行うと、ブラウザーはページのコンテンツをキャッシュしますか? (ユーザーがログインしている場合、ブラウザーがコンテンツをキャッシュする必要があるため))
  2. 私はすでにポーリングシステムを持っています (ただし、検出にはまだ遅延があります)
  3. Javascript ベースのソリューション (動作しますが、ユーザーは履歴オプションを使用してナビゲートするか、戻るボタンを長押しすることができます)

ここで本当に行き詰まっています。問題を解決するのを手伝ってくれませんか?

4

2 に答える 2

5

このコードが役立つと思います。このコードを親コントローラー コンストラクターで使用します。

//Log out Back
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
于 2013-07-22T05:11:50.337 に答える
0

これはすべての回答のリンクです。

http://www.codeproject.com/Tips/549347/Browser-Back-Button-Issue-After-Logout

私は何よりも解決策を試しましたが、ブラウザには互換性がありません。

したがって、より良い方法は、Ajaxポストまたはページロードチェックでセッション変数がnullかどうかを確認することです。

このティップには、ユーザーがブラウザの戻るボタンをクリックすると、WebMethod を実行するため、1 秒半の間、戻るページが表示されるという制限もあります。しかし、どのブラウザのすべてのバージョンでも確実に動作します!!

于 2014-07-23T10:31:48.760 に答える