我剛剛將我的網站從http移動到https,並且IE-9開始在home page處顯示不安全的內容警告。這個警告是可以理解的,因爲我有一個http調用來獲取jquery腳本的googleapi。但是,當我登錄並進入內部頁面時,儘管大部分圖像都是通過http協議從其他服務器傳出,但IE並沒有發出警告。 所以問題:通過https訪問站點時,通過http獲取映像是否正常?只有css和js很重要嗎?還是必須通過HTTPS獲取所有數據?如果是的話,我的方案如何合理(通過http頁面上的其他服務器獲取圖像而不發出警告)?混合內容警告IE:重要的是; CSS,圖像,一切?
回答
如果您通過HTTP加載CSS和JS,則攻擊者可以注入可執行代碼。不幸的是IE會在CSS內執行JavaScript。從同一個域通過HTTP加載圖像的問題是,瀏覽器可能會以純文本溢出會話標識符,這是違規行爲OWASP a9。
您可以在所有的url上使用protocol-relative URL以避免IE中出現此問題。基本上,而不是鏈接到一個js/image/css通過使用它的完整路徑與協議,而是通過忽略協議位並僅使用雙斜槓鏈接到它//。
這將產生所有上述從父頁面繼承協議的鏈接的效果。
當然,這取決於您在提供不同文件格式的域上擁有有效的SSL證書。
還有一點需要注意的是,使用數據URI完成的頁面或CSS中的圖像也可能導致IE中出現混合內容警告。
要找出哪些文件是造成問題,我建議使用Fiddler
也有另一種工具,一個老鄉SO用戶,埃裏克·法寫道:
從http://www.bayden.com/dl/scriptfreesetup.exe安裝它,你將得到不同混合內容提示,它顯示頁面上第一個不安全資源的確切URL。該工具基本上是一個原型,您應該在完成後卸載它。它適用於IE8,你應該以管理員身份安裝它。
謝謝Moin,相對URL確實解決了這個問題,但我有我得到的場景來自其他服務器的圖像,如「https:// 212.75.234.21/path/image.jpg」。現在我們沒有其他服務器的域名,我們無法獲得針對IP的SSL證書(就我所知)。所以當我顯示這些圖片時,我必須使用絕對網址。同樣,我正在使用cdn中的腳本文件,該文件必須使用絕對url進行引用。但問題是腳本觸發混合內容警告,但圖像不會產生任何此類警告。 – 2012-07-16 05:39:07
- 1. iframe的混合內容的警告沒有混合內容
- 2. Internet Explorer中的混合內容警告
- 3. 在IE標籤中的混合內容安全警告
- 4. 跨域的CSS文件鏈接,在IE中沒有混合內容警告?
- 5. 混合內容錯誤與警告
- 6. FusionCharts on HTTPS,混合內容警告
- 7. MFC CHtmlView - 抑制混合內容警告?
- 8. 嘗試捕捉混合內容警告
- 9. 避免IE中由於背景圖像引起的「混合內容」警告的規則究竟是什麼?
- 10. IE PrintTemplate混合上下文警告
- 11. 由JavaScript和圖像引起的IE7中的混合內容警告
- 12. 論壇設計的混合內容警告
- 13. BxSlider無法在IE瀏覽器中使用https(混合內容警告)
- 14. Youtube上的混合內容警告通過HTTPS訂閱按鈕
- 15. 由於CSS背景圖像導致的SSL和混合內容
- 16. IE中的iframe和混合內容
- 17. 使用jQuery檢測iframe中的混合內容警告
- 18. 由於taglib引起的混合內容警告URI
- 19. 導致混合內容警告的導軌形式
- 20. 瀏覽器混合內容警告 - 有什麼意義?
- 21. 在Chrome中刪除混合內容警告以進行開發
- 22. IE告訴我,我混合SSL內容時,我不
- 23. Internet Explorer中:混合內容交付警告
- 24. 混合內容IE 8 vs IE9
- 25. 使用!重要的CSS警告
- 26. 警告是否重要?
- 27. 的混合內容
- 28. Odoo警告 - 警告您要安裝不兼容的主題
- 29. IE 7和IE 8中的HTTPS和HTTP混合內容
- 30. 警告:您的內容是空白的
谷歌的jQuery通過https現在提供:https://developers.google.com/speed/libraries/devguide – Thomas 2012-07-14 08:56:34
都在http和https – 2012-07-14 09:17:17