2011-10-27 13 views
5

 これは簡単な質問ですが、解決できませんでした。私はHttpResponseオブジェクトのページをリダイレクトする前にReferralヘッダーを変更しようとしています。私はこれがHttpWebResponseで行うことができますが、標準のPage.Responseのためにこれを動作させることはできません。
 私はサイトの一時ページから発信されたように見えるようにrefererヘッダーを設定しようとしています(これは外部システムのアナリティクストラッキング用です)。
 これは可能ですか?
 以下のコード(Response.AppendHeaderやResponse.AddHeaderなど)を使用しようとしましたが、RefererはRequestが開始したページとして常に表示されます。asp.netのRefererヘッダーを設定してください

 Response.Headers.Add("Referer", "http://test.local/fromA"); 
     Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri); 

これはjs経由で実行できますか?
ありがとう!

+0

可能な重複:http://stackoverflow.com/questions/243057/response-redirect-strips-header-referrer-possible-to-add-it-back – fardjad

答えて

6

Refererは、クライアントによって制御(および送信)されます。サーバー側には影響しません。クライアントに発行される可能性のあるJavaScriptがいくつかあるかもしれませんが、おそらくセキュリティ上の欠陥と考えられています。

+0

JSを使用して参照元を変更することは、セキュリティ違反です。したがって、ほとんどのブラウザでは許可されていません。 – theusguy

5

リファラーは、サーバーではなくクライアントによって設定されます。要求が出されたURLを指しているので、応答ではなく要求に含めると便利です。

関連する問題