2014-01-27 58 views
0

我有一個HTTPS網站,它使用Google圖書API生成圖書頁面。但是,Google圖書的圖書封面圖片只能通過HTTP獲取,這會導致我網站上顯示圖書的任何頁面出現混合內容警告。帶有HTTP API內容的HTTPS頁面:最佳做法

在這種情況下推薦的做法是什麼?正如我所看到的,我有三種選擇:

  1. 將其留作。我的頁面在技術上對最終用戶不安全,並會顯示混合內容警告。

  2. 緩存我的服務器上的圖像並顯示本地副本給用戶。這將刪除混合內容警告,但似乎在這種情況下,我的服務器很容易受到MITM攻擊,因爲它通過HTTP下載內容。聽起來不太吸引人。

  3. 停止使用API​​並從網站中刪除整個功能。顯然不是一個有吸引力的選擇。

這些看起來都不錯。是否有一些我不知道的魔術彈頭解決方案?

回答

3

我會選擇2作爲最透明的。實際上,您不需要緩存(如果您不需要它),而只需要一個代理即可接收HTTPS請求,發送HTTP請求並將接收到的數據傳回給HTTPS客戶端。

+0

這會很好,很容易。但是,這似乎是非常不透明的。它給最終用戶一個印象,即他們正在查看安全頁面,實際上他們看到的是代理服務器後面隱藏的不安全內容。它似乎仍然具有與#1相同的安全問題。 – penco

+0

@penco它由你來決定,但對於選項1,你會一直困擾着人們。如果你想成爲真誠的人,當他們第一次訪問一個頁面時,通過向他們展示一些橫幅或警報來告知他們。 –

+0

他們正在查看安全頁面。所有HTTPS都會確保其瀏覽器與服務器之間的連接已加密 - 它不保證超出該範圍的加密(例如,參見Gmail)。 IMO選項1並不好,就好像它們同意查看混合內容一樣,它們不再能夠確保它們與服務器的連接已加密(它們不再知道除書籍封面圖像外是否還有其他任何僅HTTP內容)。 – SilverlightFox