"戻る"ボタンになってはならない前のページに署名した出
-
21-09-2019 - |
質問
私の開発asp.net ウェブサイトを利用していませんinbuilt認証管理asp.net.私が作成したテーブルを手動でユーザーのためのサイトです。
だいたい以下の
- ログイン後にユーザがアクセスのページでは既にすることができます。
- ユーザーを押しサイン(ユーザーが特定のページを事例として-デフォルトです。aspx)
- 現在ユーザーレ"戻る"ボタンのブラウザでなければならない前のページでは、Yahooのページを実装したいのと同じ)
解決
あなたがこのページをキャッシュしないようにブラウザに指示する必要が戻るボタンを押すと、前のページを見てからユーザーを防止するには、
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
あなたは、このようにクライアントブラウザにキャッシュされてからそれらを防止、認証されたすべてのページにこのコードを置くことができます。
他のヒント
の指示をキャッシュに適切に対応するために、ブラウザのニーズをキャッシュさせないページについては、これはすべてのブラウザ上で動作することを保証するものではありません! (Anが適切に邪悪な人は...情報をキャッシュ無視し、独自のブラウザを書き込み、またはそれを取り除くためにプロキシを書くことができます)。
あなたは、これは100%の時間を仕事を得ることはできませんが、あなたは常に、ユーザーが簡単に、そのディスク上のコピーの保存、ページをプリントアウトなどをスクリーンショットを取ることができないという問題に直面しようとしているので、 。あなたは、とにかく彼らにページを供給したら...
の回答のご質問は
時にユーザーを押してサインアウトします。(ユーザーが特定のページを事例として-デフォルトです。aspx) を追加することができますLinkButtonとしてSignoutリンクをクリックイベントハンドラま に応じます。リダイレクト("デフォルトです。aspx");
今時のユーザーレ"戻る"ボタンのブラウザでになってはならない前のページ //以下のように追加のコードがコードの後ろのページ
保護オーバーライドは無効OnPreRender(EventArgs e)
{
base.OnPreRender(e); string strDisAbleBackButton; strDisAbleBackButton = "<script language="javascript">\n"; strDisAbleBackButton += "window.history.forward(1);\n"; strDisAbleBackButton += "\n</script>"; ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", strDisAbleBackButton);
}
参照csharpdotnetfreak.blogspot.com
所属していません StackOverflow