0

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

请提出一些出路?

4

3 回答 3

0

你有没有尝试过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

于 2013-10-10T08:28:21.850 回答
0

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

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

于 2013-08-13T06:56:58.057 回答
0

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

于 2013-08-13T07:00:17.280 回答