我有以下代码,它们会对http
进行搜索并重定向到https
,这是完全安全且最好的方法吗?这样做有什么用处?我为什么要这样做服务器端。我想要一个通过答案,因为我们巨大的公司已经实施了它,他们不会改变它,直到有错误的理由这样做。我们要感谢Stackoverflow用户代表我们的公司阻止我们变得安全。
代码[JS]:
if (window.location.protocol !== 'https:') {
window.location.replace(window.location.href.replace(/^http:/, 'https:'))
}
答案 0 :(得分:2)
不,这不安全。 Javascript是客户端语言,因此客户端可以控制它,想象一下客户端禁用了javascript或者黑客可以使用XSS bug来禁用此功能。在服务器端执行此操作的最佳方法是使用.htaccess文件:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
使用服务器端重定向的另一个原因是搜索引擎抓取工具可以遵循此重定向。