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没有给出预期的结果的主要内容,如果未能解决你的问题,请参考以下文章

Request.UrlReferrer 使用

Request.UrlReferrer 在页面刷新时为空

Request.UrlReferrer

请问asp.net 怎么实现登陆后跳转登录前的页面

2017-06-29在登录页面自动返回上次请求页面Js获取table中的行数与列数

Request.url请求路径的一些属性