查找在安全页面上发送的非安全http请求,触发IE6“非安全项目通知”

时间:2010-03-04 22:47:19

标签: http ssl internet-explorer-6

我有一个SSL下的页面。

然而,在IE6中,我收到通知:

“此页面包含安全和非安全项目等”

我已经在Firebug和Wireshark中查看了该页面的所有HTTP请求,而且它似乎是通过普通HTTP发送的,所有资源都是通过SSL / TLS获取的。但是,IE6仍然会给出不确定的项目通知。

我在Wireshark中用来过滤Firefox的过滤器是:

http.user_agent eq“Mozilla / 5.0(Windows; U; Windows NT 6.1; en-US; rv:1.9.1.8)Gecko / 20100202 Firefox / 3.5.8”

仅适用于IE:

http.user_agent eq“Mozilla / 4.0(兼容; MSIE 6.0; Windows NT 6.1; WOW64; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0 ; InfoPath.2; MS-RTC LM 8; MALC)“


更新

所有三个网络协议分析器(Wireshark,Fiddler,Charles)都表明所有请求都是通过HTTPS进行的。 IE6,7和8都显示“非安全内容”警告。任何人都知道是否有其他东西触发IE?


更新2:

事实证明它与某些JavaScript有关:

document.write("<script type='text/javascript' id=__ie_onload defer src=javascript:void(0)><\/script>");

这特定于IE模拟​​window.domReady事件。 src = javascript:void(0)是触发IE以显示不安全通知的内容。

现在,我想将javascript:void(0)替换为不会触发不安全通知的等效项。

这些也引发了不安全因素:

javascript:;
about:blank;

这误导了IE的一个版本:

#
''

有什么想法吗?

此处的Fore引用是完整的JS文件:http://closure-compiler.appspot.com/code/jscbfa82c39e2e310e33f1786fb9a83f9ee/default.js

3 个答案:

答案 0 :(得分:1)

我刚用一个空的JS文件作为JS的src。虽然这是一个额外的https请求,但它现在有效。

答案 1 :(得分:0)

尝试Fiddler,这在过去对我有用。特别是IE6!

答案 2 :(得分:0)

我更喜欢Charles,但任何包含Fiddler的Web调试代理都应该提供帮助。使用Charles,您可以记录Web请求,然后只需过滤“http://”