【问题标题】:track from where URL coming from跟踪 URL 的来源
【发布时间】:2013-08-13 06:52:47
【问题描述】:

我在服务器上托管了 asp.net 应用程序,有什么方法可以确定用户是来自 HTTPS 还是 HTTP,我已经尝试过 URL 引用,但似乎它不适用于来自 HTTPS 到 HTTP 的请求。

请提出一些出路?

【问题讨论】:

  • 如果我错了,请纠正我,但我相信您不能信任 HTTP 标头,因为客户端可能会指定它想要的内容。

标签: url


【解决方案1】:

您是否需要这个来强制使用 HTTPS?你可能想看看这个答案 - ASP.NET: best practice for redirecting to https

我使用 URL Rewrite 答案取得了巨大成功。

【讨论】:

    【解决方案2】:

    Referrer 标头有点不可靠,并且没有明确指定。但是,如果原始页面是通过 https 提供的,大多数客户端将不会填充标头。这并不意味着您可以假设一个空的标头意味着它来自 https,因为他们可能没有填写它还有其他原因,但它是一个指标。

    【讨论】:

      【解决方案3】:

      你试过Request.UrlReferrer

      Uri MyUrl = Request.UrlReferrer;
       Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>");
       Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>");
      

      参考 http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspx

      也看看这个..

      http://www.codeproject.com/Questions/104895/Is-there-any-alternative-for-UrlReferrer-and-HTTP_

      还有这个 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.referer.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        • 1970-01-01
        相关资源
        最近更新 更多