混合内容警告IE:什么很重要;css,图像,一切

Mixed Content Warning IE: What matters; css, images, everything?

本文关键字:css 图像 一切 警告 IE 什么 混合      更新时间:2023-09-26

我刚刚将我的网站从http移到https,IE-9开始在主页上显示非安全内容警告。这个警告是可以理解的,因为我有一个对googleapi的http调用来获取jquery脚本。但是当我登录并进入内部页面时,IE并没有发出任何警告,尽管大多数图像都是通过http协议来自其他服务器的。所以问题是:当通过https访问网站时,通过http获取图片是否可以?只有css和js重要吗?还是我必须通过HTTPS获取所有数据?如果是这样,我的场景如何合理(在没有警告的情况下通过http从https页面上的其他服务器获取图像)?

如果通过HTTP加载CSS和JS,则攻击者可以注入可执行代码。不幸的是,IE将在CSS中执行JavaScript。通过HTTP从同一域加载图像的问题是,浏览器可能会以纯文本形式泄露会话id,这违反了OWASP a9。

您可以在所有URL上使用协议相关URL来避免IE中的此问题。

Basicaly,不是通过使用js/image/css的完整路径和协议来链接到它,而是通过省略协议位并只使用双斜杠//来链接它。

这将具有从父页面继承协议的所有上述链接的效果。

当然,这取决于你在为不同文件表单提供服务的域上是否有有效的SSL证书

另一件需要注意的事情是,使用数据URI完成的页面或CSS中的图像也可能导致IE中的混合内容警告。

为了找出哪些文件导致了问题,我建议使用Fiddler

另一位SO用户Eric Law写道:

从安装http://www.bayden.com/dl/scriptfreesetup.exe你会得到一个不同的混合内容提示,它显示了页面上第一个不安全资源的确切URL。这个工具基本上是一个原型,你应该在完成后卸载它。它在IE8上工作,你应该以管理员身份安装它。