2015-03-31 76 views
-2

我有下面的代码,其中http cheaks和重定向到https,是完全安全和最好的方式来做到这一点?有什么好处呢?我为什么要做服务器端。请我通过回答,因为我们巨大的comany已经实现了它,他们不会改变它,直到有错误的原因这样做。我们想代表我们的公司感谢Stackoverflow用户,以阻止我们变得安全。我的URL重定向安全吗?

代码[JS]:

if (window.location.protocol !== 'https:') { 
    window.location.replace(window.location.href.replace(/^http:/, 'https:')) 
} 

回答

2

不,它是不是安全。 Javascript是客户端语言,因此客户端可以控制它,想象客户端已禁用的位置JavaScript或者黑客可以使用XSS错误来禁用此功能。在服务器端要做到这一点的最好办法是使用.htaccess文件:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

另一个原因是使用服务器端重定向是,搜索引擎爬虫可以关注该重定向。