Request.UrlReferrer未给出预期结果

时间:2018-03-01 14:54:25

标签: asp.net webforms

我有一个在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环境中正常工作。

任何人都知道是否/如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

原来是我对推荐人政策的误解&#34;严格来源&#34;。对内部推荐过于严格。我需要的是稍微不那么严格的&#34;同源&#34;。

你可以看到这个解释所有内容的Range.Offset Property (Excel)