2011-09-27 81 views
1

如果我希望客戶端始終使用HTTP連接,是否只需要在應用程序的代碼中包含標頭,還是需要在服務器上進行更改?另外,如何簡單地將用戶重定向到HTTP頁面,讓他們每次嘗試使用HTTP都會如何?僅需要Web應用程序的代碼才能支持HSTS?

+0

是基於API的網頁嗎?這種情況下的客戶是什麼? – Ram

+0

@Ram - 沒有涉及的API。例如,我有一個網站,總是需要一個安全的渠道。客戶端是一個Web瀏覽器。從來沒有真正想過其他客戶,但會熱衷於知道哪些其他實例允許HSTS? – PeanutsMonkey

+0

主要區別在於您觸發客戶端(如果它具有該功能)甚至不嘗試使用HTTP,從而阻止他們通過HTTP發送貴重物品以嘗試聯繫您的服務器(無論如何,他們不會處理它)。對於服務器端來說,你在多個層面上有很多選擇:http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security#Implementation – Ram

回答

2

如果你只有HTTP - > HTTPS重定向,客戶端可能仍會嘗試向你發送敏感數據(或者獲取一個包含敏感數據的URL) - 這會讓它公開公開。如果它知道你的網站是HSTS,那麼它甚至不會嘗試通過HTTP進行訪問,從而消除暴露。這是一個相當小的IMO勝利 - 更大的風險是大量的根CA,因爲微軟,Mozilla,Opera和Google的政策,每個人都盲目信任。

+0

您是否可以詳細說明您的評論?如果您只有HTTP - > HTTPS重定向,客戶端可能仍會嘗試向您發佈敏感數據(或獲取其中包含敏感數據的URL) - 這會離開它公開暴露.' – PeanutsMonkey

+0

如果更大的風險確實是大量的根證書頒發機構,你會推薦做什麼來解決它? – PeanutsMonkey

+1

使用HTTPS,在任何其他數據來回傳遞(請求URI,cookie,POST數據)之前建立一個「安全」隧道。在HTTP中,這些東西剛剛結束。如果瀏覽器知道你的網站沒有執行HTTP,它就不會通過HTTP傳輸這些元素,所以壞人更難以監視流量並讀取最初發送的一組數據中包含的信息。 – Ram

相關問題