为什么ServerVariables ["HTTP_REFERER"]会跳过页面?

Aar*_*ron 1 .net html c# asp.net http

这是我的情况:

Page1.aspx重定向到Page2.aspx,它执行一些处理(不向用户显示),然后重定向到Page3.aspx,它检查ServerVariables ["HTTP_REFERER"]或Request.UrlReferrer.

据我所知,推荐信息有时可能是空白的,不能完全依赖; 但是Page3.aspx上的ServerVariables ["HTTP_REFERER"]或Request.UrlReferrer显示的是Page1.aspx,而不是我预期的Page2.aspx.

如果页面显示给用户,是否仅设置引用信息?

重定向是使用Response.Redirect完成的,以便更改浏览器地址栏中的URL.

chr*_*ris 5

因为http重定向指示浏览器在新的位置找到页面,所以浏览器假定它仍在处理page1.aspx上的原始请求,因此将其作为referer发送:)

值得记住的是,引用程序只是从浏览器发送出来,因此无法100%信任 - 例如,某些代理完全删除了它.