来自Web服务器的每一个文件都有对应的MIME类型(也称为content-type),描述文件内容的属性,比如图片、文件、应用等。最近,IE开发经理Eric Lawrence在IE官方博客中就MIME处理方式的变化和安全性做了详细解释。

以前,某些HTML元素(特别是Link和Script)不会验证Web服务器提供的MIME类型。例如,即使Script的src属性指向一个声明为text/plain类型的文件,浏览器也会运行Script脚本。Eric强调这种方式存在安全隐患:

这会导致一些安全漏洞,特别是Link元素。

比如这样一种攻击,恶意网站包含一个指向另一网站HTML内容的Link引用。如果HTML内容包含常见字符,那么可能会被恶意网站的页面脚本访问。这种信息泄露会导致跨网站请求伪造和其他攻击(详见Carnegie-Mellon大学的一篇论文)。

在最近发布的一个安全更新中,微软开发团队修改了IE6/7/8的CSS处理方式——阻止所有跨源样式表(cross-origin stylesheet)除非它们声明了正确的HTTP相应头:Content-Type: text/css,这种保护措施可以确保Link和@IMPORT不会成为窃取其他网站内容的帮凶。

对于IE 9来说,除了修复以上问题,在MIME处理方面还包括了三个重要的安全性变化:

  1. 在IE 9标准模式下,同源样式表也必须采用正确的text/css类型,否则会被忽略。
  2. 如果服务器端指定X-Content-Type-Options: nosniff,那么Script元素将拒绝错误的MIME类型响应,在这种情况下正确的MIME类型是["text/javascript"、"application/javascript"、"text/ecmascript"、"application/ecmascript"、"text/x-javascript"、"application/x-javascript"、"text/jscript"、"text/vbscript"、"text/vbs"]。
  3. 采用text/plain类型传输的文件,IE不会主动将其判定成另一类型。

转载于:https://www.cnblogs.com/bmate/archive/2010/11/12/1875870.html

Internet Explorer更改MIME处理方式以提高安全性相关推荐

  1. Internet Explorer 6 中的 CSS 增强功能

    简介 Microsoft® Internet Explorer 6 及更高版本支持一些更早版本 Internet Explorer 并不支持的 CSS 功能.支持的两个附加 CSS 属性为 min-h ...

  2. IE(Internet Explorer)重装失败,出现“出现错误。并非所有的功能被成功更改”的错误

    IE浏览器的卸载: Windows 7 SP1 自带的Internet Explorer浏览器为IE 8,笔者需要升级IE版本至IE 9,10或11,因此,笔者进行了如下操作: 1. 打开" ...

  3. Windows Server 2008 禁用Internet Explorer 增强的安全配置

    1.1.1 任务3:禁用Internet Explorer 增强的安全配置 Internet Explorer 增强的安全配置 (IE ESC) 采用一种方式配置您的服务器和 Microsoft In ...

  4. 把应用程序从 Internet Explorer 迁移到 Mozilla

    把应用程序从 Internet Explorer 迁移到 Mozilla 如何让依赖于 Internet Explorer 的 Web 应用程序在基于 Mozilla 的浏览器上运行 Doron Ro ...

  5. 如何关闭Internet Explorer 增强的安全配置

    什么是Internet Explorer 增强的安全配置? 简单的说就是在你访问一个未标记为信任的网站的时候给你弹出一个提示,如下图: 如果你认为这个网站是可信任的,就点击"添加" ...

  6. 用SmarterFox替换Internet Explorer的“加速器”

    If you've had to use Internet Explorer 8, you'll have noticed a couple of things. It's getting much ...

  7. Internet Explorer 9 新功能:固定并快速打开常用网站

    Internet Explorer 9 中新增了一种非常酷的浏览方式--"固定网站(Pinned Sites)",普通网站可以像桌面程序那样直接从任务栏和开始菜单中运行,而不是像以 ...

  8. Internet Explorer 7 功能

    Internet Explorer 7 功能浏览以下功能,以了解在 Internet Explorer 7 中对易用性.安全性和开发平台所做的改进. 使日常工作更容易 Internet Explore ...

  9. “无法找到Internet Explorer”的解决方法

    由于以前把IE给删了,今天在调试ASP.NET程序时提示"无法找到Internet Explorer",郁闷啊,于是就花了好几个小时的时间来重装IE,结果没装成,郁闷...于是就在 ...

最新文章

  1. 卸载Notepad++!事实已证明,它更牛逼……
  2. 商城网站前期功能设置这几项绝不能少!
  3. python电脑要求-学python对电脑配置有要求么
  4. educoder答案python玩转列表_2020大学mooc用Python玩转数据章节测验答案
  5. 逆波兰计算器android源码简书,计算器的核心算法-JavaScript实现(逆波兰表达式)...
  6. oracle两个表合并 sql,如何创建从两个表(Oracle DBMS)生成“合并”数据集的Select SQL语句?...
  7. javascript 代码分离 的那些事儿
  8. 修改数据库端口为51433
  9. 刚开完2019WWDC 苹果就被iOS开发者们集体起诉...
  10. 黄聪:微信网页扫码登录的实现
  11. JsonHelper(Json帮助类)
  12. java String 详解
  13. JavaEE学习12--JDBC(上)
  14. 第一部分 第二章 答案合集(part 2)1024-1038
  15. 【Steam】各种Steam致命错误-Steam需要在线进行更新什么意思。请确保你的网络连接正常,请重试。
  16. C++ Primer 第5版--练习9.31
  17. 北海焊接机器人_北海中型机械手臂生产,机械手
  18. opencv hsv(hsb)与hsl的区别
  19. 世界地图nameMap
  20. 70 个 Shell 脚本面试问题和答案

热门文章

  1. sendrequest ajax数据返回,jquery ajax 还没有调用send()方法 返回的状态码XMLHttpRequest.status 是0 ,怎么解决?...
  2. win+shift+s截图保存在哪_今天才发现,原来不使用工具,电脑也能快速截图,你用过哪些?...
  3. html中遍历表单,萌新提问!!!如何用for循环循环表单?
  4. imread读不到图片_家用水表怎么读?超强实用技能快速get
  5. 如何在cmd命令提示符里打开Python
  6. 怎么用debug看jdbc查询的resultset中查出的数据_用了这个 ORM 工具,我只用一天就把项目数据库给换了
  7. python 退出自定义函数_python通过自定义异常,提前退出方法
  8. 2022年考研计算机-数据库原理8-11章
  9. 编译原理教程_7 语法制导的语义计算
  10. qprocess start怎么判断是否结束_致恋爱中的我们,怎么样来判断一个女人是否在骗你?...