4

次のコードをマスターページ (Page_Load) に追加したので、ユーザーがログアウトすると、[戻る] ボタンを使用して以前のページを表示できなくなります。

 Response.Buffer = true;
 Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
 Response.Expires = -1;
 Response.CacheControl = "no-cache";

問題は、ユーザーがアプリケーションにログインしているときにブラウザの戻るボタンを使用できるようにしたいということです。ページをキャッシュしないようにコードをコメントアウトすると、戻るボタンを使用できますが、ログアウトすると、戻るボタンを使用して前のページを表示でき、セキュリティリスクが発生します。

アプリケーションでブラウザの戻るボタンを使用できるが、ログアウトするとアプリケーションに戻ることができないという提案はありますか?

4

3 に答える 3

2

認証されていないユーザーが、以前使用していたコンピューターに密かにアクセスして、認証されたユーザーが何をしていたかを確認するのを防ぐことが目的ですか? 後者の場合、window.close(); を持つログアウト ページにユーザーをリダイレクトする必要があります。これが要件であることについての強力な言葉とともにコマンドを実行してください。さて、これは鉄壁ではありません。IEはユーザーに、アプリがウィンドウを閉じてもよいかどうかを尋ね、他のブラウザーはその要求を完全に無視します。ただし、適切な種類のセキュリティ環境では、主に文化的な多様性がありますが (文化のメンバーがルールを順守するのに役立ちます)、セキュリティ ポリシーに重要な追加を提供すると思います。

「ワンタイムスルーで完了」タイプのセキュリティが必要な場合は、キャッシュをロックアウトするか、すべてのページに「window.forward()」を追加する (これにより、戻るボタンのすべての使用が防止される) ことをお勧めします。唯一の本当の選択肢。

もう 1 つ: AJAX には、同様に役立つツールがいくつか用意されています。機密情報を更新パネルに配置し、ページの読み込み JavaScript で更新パネルの更新をトリガーすることができます。これは常にサーバーに戻るため、認証されていない/期限切れのユーザーは拒否されます。これは非常に重要な作業負荷ですが、私はそれを捨てようと思いました。

于 2008-12-24T14:22:55.133 に答える
0

YUI は、ブラウザーの履歴を簡単に制御して、プログラムで URL を履歴に追加する方法を提供します。YUI Browser Historyマネージャーを見てください。

于 2009-01-06T16:20:04.457 に答える