混合内容警告IE:什么很重要;css,图像,一切
Mixed Content Warning IE: What matters; css, images, everything?
我刚刚将我的网站从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上工作,你应该以管理员身份安装它。
- 使用NG Repeat angularJS格式化CSS图像
- 使用jquery在toggle上添加和删除css图像类
- Javascript 中的动态 CSS 图像 URL
- 无法在单个 HTML 页面上显示 Java/CSS 图像库的多个实例
- 加载时翻转 CSS 图像
- 在SVG中显示CSS图像精灵,而不使用外来对象
- 在创建的Joomla模块中链接背景CSS图像
- 使用 JavaScript 下载页面的 CSS/图像等 HTTPS 资源并将它们写入临时文件
- CSS 图像查看器:图像旋转(和缩放)
- HTML/CSS图像悬停-使用不同大小的图像
- Jquery和CSS图像居中在选项卡中不起作用
- 分离css图像属性
- CSS图像不透明度渐变与多个元素(类)
- 在显示预加载程序的同时预加载所有CSS图像
- 模糊背景- Jquery /纯CSS /图像
- 调整CSS图像蒙版:悬停在旋转木马上
- JS CSS -图像只是弹出或弹出没有动画
- 从子文件夹访问CSS图像时不显示
- 是否有可能在grunt中获得实时css/图像重新加载
- JS/CSS图像动画滚动效果