2016-06-11 39 views
2

我已經將網站更改爲https,並在.htaccess中設置了重定向。但我也設置了嚴格的交通安全。是必要的還是有用的?301重定向和HSTS在.htaccess

<IfModule mod_headers.c> 
    Header always set Strict-Transport-Security "max-age=16070400" 
</IfModule> 

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 
</IfModule> 

乾杯

回答

2

重定向告訴人們輸入http://www.example.comhttps://www.example.com。既然默認是http,如果你離開協議,只需鍵入www.example.com,那麼你會去http://www.example.com所以是的,你需要這個重定向。

雖然這有幾個問題。

首先,http是不安全的,可以被網絡上的其他人讀取和更改。這就是你應該使用https的原因。但是,由於http不安全,這意味着他們可以攔截您的重定向並使您保持http版本並繼續攔截您的流量。或者改爲將您重定向至https://www.evilexample.com

HTTP嚴格傳輸安全性(或HSTS)是一種安全機制,試圖解決此問題。你的服務器告訴瀏覽器總是使用https爲該網站。即使不輸入協議(通常會使用http),即使您將協議鍵入爲http。

一旦瀏覽器爲一個站點加載了HSTS,它甚至不會發送http請求,而是自動將它們改爲https。這有幾個優點:

  1. 它更安全,因爲它不能被攔截。
  2. 它更快,因爲不會浪費時間發送請求到http://www.example.com只是被告知去https://www.example.com
  3. 它可以用來解決混合內容錯誤,因爲http資源(僅適用於該網站,但不能從其他網站加載)會在您意外添加http源時自動更改。內容安全策略的升級不安全請求可能是更好的解決方案,但HSTS仍然提供基本版本。

此外,另一個答案指出,另一個單獨的好處是,此設置也意味着瀏覽器不會允許訪問者點擊通過證書錯誤的網站,從而爲攻擊增加額外的安全性。

HSTS的主要缺點是:

  1. 你的網站需要只爲https - 這似乎是顯而易見的,但很容易只在http錯過了站點的一部分。或者如果使用includeSubdomain選項,則使用http上的子域名。
  2. 訪問者需要首先訪問該網站才能獲取HSTS策略,儘管您可以將其預先加載到瀏覽器中,但這不是一個可能的決定。
  3. 瀏覽器支持尚未普及。即使是搜索引擎等使用的抓取工具也可能不會使用它。

所以希望這可以解釋爲什麼HSTS是一件好事,你應該保持。在重定向之上。

+0

謝謝。我會保持原樣。我一定會考慮將我的網站添加到預加載列表中,但可能不適合任何客戶。 –

+1

說實話,我不是一個大規模的預壓風扇。正如我在這裏解釋的:https://www.tunetheweb.com/blog/dangerous-web-security-features/ –

+0

很高興我讀到,在添加任何網站的名單。非常感謝! –

2

是的!你應該保持他們兩個。從OWASP docs,有許多使用HSTS的好處。例如:

  • 自動將HTTP請求重定向到HTTPS。

  • 防止用戶覆蓋無效的證書消息。

1

我想你應該對這個文檔https://varvy.com/pagespeed/hsts.html它說一看:
它基本上是像一個301重定向,但在瀏覽器的水平,而不是網頁級別。它優於301重定向,因爲它可以實現爲始終只使用https,而301重定向在瀏覽器首次出現時實際上是不安全的。

閱讀文檔後,您可以決定。

+0

謝謝。我已經看到了,但它很有用。 –

+0

好的,沒問題 – Aparna