2011-10-27 6 views
5

  이것은 쉬운 질문 일 수 있지만 해결할 수 없었습니다. HttpResponse 개체의 페이지를 리디렉션하기 전에 Referral 헤더를 변경하려고합니다. 이 HttpWebResponse에서 할 수 있지만 표준 Page.Response 작동하도록 가져올 수 없습니다 알아요.
  나는 리퍼러 헤더를 내 사이트의 임시 페이지 (외부 시스템에 대한 분석 추적 용)에서 비롯된 것처럼 보이도록 설정하려고합니다.
 이 작업이 가능합니까 ??
  아래의 코드 (Response.AppendHeader 및 Response.AddHeader와 같은 유사어)를 사용하려고했지만 Referer는 요청이 시작된 페이지로 항상 표시됩니다.asp.net의 Referer 헤더를 설정하십시오.

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

.net을 통해 전송할 수없는 경우 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을 가리킬 때 응답이 아닌 요청에 포함하는 것이 유용합니다.