在asp.net中设置Referer头

时间:2011-10-27 21:16:48

标签: c# asp.net

这应该是一个简单的问题,但我一直无法解决。我正在尝试在重定向HttpResponse对象的页面之前更改Referral标头。我知道这可以在HttpWebResponse中完成,但无法使其适用于标准的Page.Response。
我试图将referer标头设置为看起来像是源自我网站上的临时页面(这是用于外部系统的分析跟踪)。
这有可能吗?
我尝试使用下面的代码(以及Response.AppendHeader和Response.AddHeader等变体),但Referer始终显示为请求发起的页面。

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

如果不是通过.net可以通过js完成吗? 谢谢!

2 个答案:

答案 0 :(得分:6)

客户端控制(并发送)引用者。你不能影响它的服务器端。可能有一些你可以发出的JavaScript让客户端去做 - 但它可能被认为是一个安全漏洞,所以我不会指望它。

答案 1 :(得分:5)

引荐来源由客户端设置,而不是服务器。包含在请求而非响应中是有用的,因为它指向请求来自的URL。