Web サイトで、ユーザーのブラウザー履歴に情報が記録されないようにしたいと考えています。私は自分のウェブサイトを構築するために asp .net を使用しています。どうすればこれを実行できますか?
6 に答える
ありえない。これはクライアント側の設定であり、サーバー側からは制御できません。もしそれが可能であれば、それは重大なセキュリティ ホールでもあったでしょう。
編集:コメントと投稿によると、実際にリクエストのキャッシュを無効にしたいですか? その場合、基本的には<head>
、問題のページの HTML に次の一連の応答ヘッダーを追加する必要があります。
<meta http-equiv="cache-control" content="no-cache,no-store,must-revalidate">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">
私は ASP.NET を使用しませんが、プログラムで同様のことができる必要があります。オブジェクトを確認してください。response
のようなメソッドが必要setHeader(name, value)
です。
ただし、それでもページへの URL がブラウザの履歴に表示されるのを防ぐことはできません。
なぜこれをやりたいのかという明らかな疑問を除けば、ブラウザからサーバー側に情報を遠ざけるのは非常に難しいと思います。
HTML メタ タグに関するこのページを見て、メタ タグの CACHE-CONTROL および PRAGMA NO-CACHE オプションを調べることをお勧めします。
頑張ってください。これがお役に立てば幸いです。
一部の Web サイトは、Flash、Silverlight、Javascript、または表示されるコンテンツから URL を切り離すその他のアプリケーション フレームワーク内に Web サイトを作成することによってこれを行います。
慎重に行えば、すべてのコンテンツをユーザーに表示して「通常の」ブラウジング エクスペリエンスを提供できますが、履歴に表示されるのは 1 つの URL だけです。
クライアントにデータが残るのを避けたい場合は、より注意する必要があります。AJAX リクエストはキャッシュされる場合があります。データがディスクに書き込まれないようにキャッシングをより慎重に制御したい場合は、Flash または Silverlight を使用する必要があるかもしれませんが、これらにも落とし穴があります。これを回避する方法 (HTTP を使用しないなど) はありますが、クライアントとサーバーの両方の観点からすると、より困難になります。
もちろん。常に同じ aspx ページに移動し、POST パラメーターに基づいてコンテンツを動的に表示します。
a:visited ルールを CSS スタイルシートから削除します。
サイト上のすべてのリンクを、同じ URL にヒットする POST リクエストにします。そのページは、実際のページを返す単純な ASP ページになります。これには、サイトが適切な履歴を保持できなくなるだけでなく、副作用があることに注意してください。これらは、許容できる効果である場合とそうでない場合があります。