我有一个内部连接到第三方网站的基本页面。在此第三方网页上单击按钮时,我的网页将在另一个标签页中启动。
启动时,我会捕获上一页网址,以便我可以在之前的网址中获取某个ID。这在IE8到IE10上都运行良好 但是IE 11根本不会返回完整的URL。有人知道吗?
我已经尝试了以下所有的快乐,
Request.ServerVariables["HTTP_REFERER"].ToString()
ViewState["PreviousPageURL"] = Request.UrlReferrer;
Request.UrlReferrer.AbsoluteUri;
string urlName = Request.UrlReferrer.ToString();
System.IO.Path.GetFileName(Request.UrlReferrer.AbsolutePath);
提前感谢任何帮助。 非常感谢,
答案 0 :(得分:1)
不要信任客户端 - 您不应该依赖于发送或正确的Referer
标头。
特别是,谷歌搜索使用JavaScript技巧来阻止从搜索结果页面发送Referer
标题 - 网站管理员不能再获取原始Google搜索页面地址(从查询字符串中提取搜索字词) ) - 表面上这是为了保护用户的隐私。
其他原因包括:
据我所知,IE11不会改变Referer
- 处理行为。
在您给出的代码示例中,最后4个示例都使用Request.Urlreferrer
,所以当然它们都会返回相同的结果。