【发布时间】:2011-06-11 00:39:54
【问题描述】:
有什么方法可以检测 HTTP 或 HTTPS,然后强制使用 HTTPS 和 JavaScript?
我有一些检测 HTTP 或 HTTPS 的代码,但我不能强制它使用 https:。
我正在使用 window.location.protocol 属性将站点设置为 https:,然后刷新页面以希望重新加载加载到浏览器中的新 https'ed URL。
if (window.location.protocol != "https:") {
window.location.protocol = "https:";
window.location.reload();
}
【问题讨论】:
-
这是更可靠(和高效)处理的服务器端。
-
我认为你是对的。作为使用 MITM 攻击的攻击者,我可以删除这段代码。所以它只提供针对被动攻击的保护。
-
@NeoDevlin http 上的 MITM 攻击者也可以替换服务器端重定向
-
没错。 2018年,没有理由不使用HSTS。这是强制使用 HTTPS 的唯一安全方法。
标签: javascript https window.location