2012-11-15 31 views
8

我有一個HTTPS站點,在IE6 & 7個顯示器(錯誤),讀取一個對話框:IE6和7完成的「此頁包含安全和不安全項目」

此頁包含安全和非安全項目

是否要顯示不安全的項目?

這不會發生在任何適當的瀏覽器,但該網站是企業和許多客戶仍然在Windows 2000和IE6。

我所熟悉的(和已淘汰)此消息的以下可能的原因:

  1. 一個或多個加載的頁面資源具有http://而不是https:// - 這是唯一合法的理由以顯示錯誤,並且會在工作的瀏覽器中導致相同的消息。 Fiddler可以識別加載的不安全的資源,所以這很容易解決。

  2. IE behaviour.htc文件被加載,提供DHTML功能 - 這些經常被作爲加密處理,即使從https:// URL,這使他們很沒用,即使回來時,IE6是新交付跨越。首先使用這些並不是一個好主意。

  3. IE treats empty frames as nonsecure resources,所以<iframe src=""<iframe src="about:blank"都會導致此錯誤。這很容易找到並修復代碼。

  4. 當使用ActiveX XMLHTTP組件時,IE5用於發送AJAX請求爲不安全。我不認爲這是IE6及以上版本的問題。

  5. IE 6或7不支持數據URI,並且不會顯示,但如果包含在CSS中的任何數據URI也會導致不安全的警告。我們有不同的CSS,IE不使用它們。

  6. Javascript protocol links in the source for script tags report as nonsecure:(!感謝埃裏克)<script type="text/javascript" src="javascript:void(0)">通過清除src屬性

  7. 無需外部庫被加載,與頁面或動態很容易避免,並且不使用CDN。我們確實使用了一些第三方插件,但它們安全地傳遞,並且不會動態加載任何更多內容。

有很多關於這個IE錯誤的信息,但是到目前爲止我發現的所有問題都指向了我已經消除的以上問題之一。

IE6中是否還有其他的錯誤& 7可能是這個錯誤的原因?

是否有任何方法來確定哪些資源IE認爲是不安全的?

回答

6

我發現問題的來源,但它花了一些挖。

首先Eric Law已經拿出prototype tool (exe)another answer幫助確定問題。

不安全的資源是:

data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs= 

的問題是,IE6不支持數據URI,所以我們沒有使用它們。那麼這是從哪裏來的?

事實證明的jQuery UI 1.8的問題,特別是在CSS another bug修復:

.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; 
    /* http://bugs.jqueryui.com/ticket/7233 
    - Resizable: resizable handles fail to work in IE if transparent and content overlaps 
    */ 
    background-image:url(data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=); 
} 

它看起來像others have also spotted this issue,並在最新的jQuery UI CSS it's been fixed(1.9或以上)。

我的修補程序是用一個空白gif的常規URL替換,解決了問題。

+4

除了你提到的罪魁禍首之外,使用javascript:作爲協議在過時的IE版本中導致這個問題。更多詳情:http://blogs.msdn.com/b/ieinternals/archive/2009/06/22/https-mixed-content-in-ie8.aspx – EricLaw

+0

@EricLaw歡呼!我沒有聽說過那個,問題更新了。 – Keith

+0

花費了數小時修復它,是同一個問題,但base64是由SASS生成的 – RomanTheGreat

相關問題