2015-03-03 100 views
0

我們的產品包含網站集,主頁包含3個加載這些不同網站的iframe。我們將在所有網站上啓用SSL。我們允許html用戶數據在我們的系統中顯示。目前,由於以下原因我們遇到了混合內容問題,因此我們暫停此舉。混合內容攔截解決方案

  • 用戶數據中引用http內容的一些元素。 例如:img,js等
  • 一些加載在我們的iframe中的第三方。 (不同的內容提供商)

我們想到開發自己的網絡代理,我們確實擔心這個解決方案的性能以及昂貴。任何人都可以告訴我們可以購買哪些可用的混合內容問題解決方案和可用的第三方Web代理?

+2

這不是題外話,因爲它要求的(在線)工具? – 2015-03-05 16:30:40

+0

@BramVanroy也就是說,如果提出的解決方案相當複雜,是否有任何實現該工具的框架/ – Eranga 2015-03-05 17:11:56

回答

2

最好的解決方案可能是從某些服務購買遠程服務器(谷歌會給你數百萬次點擊),然後建立一個CGI腳本來將不安全的內容加載到遠程服務器上,緩存它,然後服務該內容。這樣,您的用戶就可以免受第三方知曉他們的注意,並且如果您在這些服務器上設置了SSL證書,那麼您可以輕鬆解決混合內容。

這就是說,當你開始從遠程服務器加載你的用戶內容時,會有一個很大的呃逆,因爲它必須開始緩存所有內容。

1

使用Web代理不是理由如下一個很好的解決方案:

  • 我們有性能問題,這種解決方案的價格昂貴像你說的。
  • 此解決方案最大的問題是我們仍然存在安全漏洞。在網站上使用https的目的是爲了防止網站遭到嗅探器和中間人攻擊。如果您使用Web代理,則瀏覽器與代理之間的連接仍然很脆弱。
  • 我不確定Web代理是否能夠幫助您,因爲瀏覽器始終會將這些鏈接解釋爲http,即使您的服務器啓用了SSL也是如此。

有關混合內容的更多信息:https://developer.mozilla.org/en-US/docs/Security/MixedContent

正確的方式來處理這種情況,你必須修改所有的鏈接加載使用HTTPS內容。或者更好的辦法是使用protocol relative url

<script src="//scripts/main.js"></script> 
+0

謝謝。但問題是我們正在處理第三方內容,並且它在阻止之前已經運行。 – Eranga 2015-03-07 03:39:19

+0

@Eranga:如果是這樣,你應該嘗試使用https版本的第三方內容。如果沒有https版本,我認爲這個問題不能有效解決。貌似這個官方頁面有同樣的想法:https://developer.mozilla.org/en-US/docs/Security/MixedContent/How_to_fix_website_with_mixed_content – 2015-03-07 04:53:21

+0

一些第三方的沒有HTTPS的支持。與他們談判改變是不可行的。 – Eranga 2015-03-08 17:01:45

1

混合內容警告內置的瀏覽器設計,以表明他們的意思是什麼。您可以在設置中將其關閉,或者只需單擊確定,因此通過投擲混合內容,可能會降低UI,但不會降低功能。

有幾件事情浮現在腦海中,因爲供應商不能改變他們的內容:

  1. 寫爲您的應用後端刮板通過HTTPS擦傷本地網頁和服務器的內容。

  2. 不要立即渲染內容,讓用戶點擊它打開iframe,以便至少加載頁面,並且可以警告用戶(可選)。

  3. 提高或者通過第一檢查HTTPS的解決方案,有很多的網站有80和443都打開,但正如你指出的,不是每個人。

  4. 不太熟悉這一個,但你可以甚至有Internet Explorer的服務器實例打開頁面,並緩存他們爲你簡化刮。

如果我正在寫這篇文章,我會盡可能檢查https,並允許混合內容警告的設計。