Request.UrlReferrer没有给出预期的结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Request.UrlReferrer没有给出预期的结果相关的知识,希望对你有一定的参考价值。
我有一个在https下运行的网站。
我试图找出内部页面是否是当前页面的引用者,有选择地做一些事情。
这是我正在测试的代码:
if (Request.UrlReferrer != null && Request.UrlReferrer.Host == Request.Url.Host)
{
Response.Write(Request.UrlReferrer.OriginalString + "<br>");
Response.Write(Request.UrlReferrer.AbsoluteUri + "<br>");
Response.Write(Request.Headers["Referer"] + "<br>");
}
代码正确地捕获内部请求,但是输出的变量只包含基本域 - https://example.com/
而不是预期的完整URL https://example.com/some-page/
。
我原本以为输出会存在或为空,而不是部分。
它在非https环境中可以正常工作。
任何人都知道是否/如何解决这个问题。
答案
事实证明,这是我对推荐人政策“严格来源”的误解。对内部推荐过于严格。我需要的是稍微不那么严格的“同源”。
你可以看到这个解释所有的excellent article。
以上是关于Request.UrlReferrer没有给出预期的结果的主要内容,如果未能解决你的问题,请参考以下文章