2015-03-31 54 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} 

另一個原因是使用服務器端重定向是,搜索引擎爬蟲可以關注該重定向。