嘿伙计们,我有自己的网络服务器,主持一个我最近安装/设置自签名SSL证书的网站。保护网站似乎没问题,但在Firefox和IE浏览器中,我有时会弹出一些框,上面写着“此页面上有安全和不安全信息的混合......”并在firefox错误控制台中谈到可能容易受到SSL漏洞的影响(CVE-2009)。
答案 0 :(得分:4)
混合上下文警告是由使用http加载某些内容(图像,脚本,css,iframe,...)引起的。找到这些的最简单方法是在浏览器中打开源代码视图并搜索“http://”。
这确实是一个安全问题:如果攻击者可以操纵脚本或css文件,他可以修改页面的任何部分(例如更改登录表单的目标)。甚至图像也是一个问题,因为它们可以显示误导用户的指令。
我猜您指的是CVE-2009-3555:这与混合内容警告无关。如果您的网络服务器使用的是最新的安全更新,您现在可以忽略它:
不幸的是,当使用目前存在缺陷的SSL / TLS协议版本时,无法确定网站是受保护还是易受攻击。
答案 1 :(得分:4)
基本上,您在页面的某个位置提供HTTP内容,无论是图像,CSS文件还是其他内容。解决此问题的最好方法之一是使用协议相对URL;
的形式"//example.com/image.gif"
例如
<img src="//example.com/image.gif" />
这具有使用托管页面具有的协议加载资源的效果,如果它是http则为http,如果是https则为https。
Fiddler非常适合tracking these things down,因为资源协议清晰地显示在用户界面中;
alt text http://www.enhanceie.com/images/blog/IEBlogX-fiddler.png
答案 2 :(得分:1)
隔离HTTP与HTTPS请求的另一个好方法是通过fiddler - 你应该立即看到没有SSL的网站请求哪些文件(如果有的话)。
请求应该设置HTTP REFERER标头,这有助于找出通过HTTP而不是HTTPS请求这些资源的原因。
如果您的网站使用IFRAME(其中内容在运行时设置),则会出现一个模糊的问题。在IFRAME(空源标记)中没有内容将导致IE认为它不是受HTTPS保护的资源,因此即使没有内容实际通过HTTP传输,您也会收到警告。
答案 3 :(得分:1)
这可能是一个安全问题。有关如何解决此问题的信息,请参阅http://www.sslshopper.com/article-stop-the-page-contains-secure-and-nonsecure-items-warning.html。