写点什么

Internet Explorer 更改 MIME 处理方式以提高安全性

  • 2010-10-27
  • 本文字数:733 字

    阅读完需:约 2 分钟

来自 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 不会主动将其判定成另一类型。
2010-10-27 01:082054
用户头像

发布了 501 篇内容, 共 260.3 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

Bootstrap 和 WordPress 的区别

海拥(haiyong.site)

bootstrap Wordpress 博客部署 WordPress 5月月更

“学生管理系统”毕设架构设计

Pengfei

架构设计原则

Redis Cluster集群收缩主从节点详细教程

jiangxl

Java 8 开始新增的 Optional 类 - Optional 对象中的返回

HoneyMoose

通过JConsoler监控Tomcat的JVM内存

jiangxl

毫秒级返回数据,58同城 DBA 团队选择 TDengine 解决传感器数据处理难题

TDengine

数据库 tdengine

Flutter 开源状态管理插件一览

岛上码农

flutter ios 安卓 移动端开发 5月月更

微信业务架构&学生管理系统架构

intelamd

⭐万字长篇超详细的图解Tomcat中间件方方面面储备知识⭐

jiangxl

tomcat Java web

Linux环境下部署Jpress大型博客网站

jiangxl

5月25日,阿里云开源 PolarDB-X 将迎来重磅升级发布

阿里云数据库开源

开源 开源数据库 国产数据库 PolarDB-X 数据库·

架构实战营-模块1作业

Gavin.Yang

Cocos creatorの摇杆操控运动

空城机

Cocos 5月月更

数据库连接池 -Druid 源码学习(八)

wjchenge

Druid 数据库连接池

基于Redis6.2.6版本部署Redis Cluster集群

jiangxl

五、浅谈容器逃逸

穿过生命散发芬芳

5月月更 容器逃逸

在线文本列表差集计算工具

入门小站

工具

在线HTML转CSV工具

入门小站

工具

Tomcat安全优化

jiangxl

tomcat Java web

linux之grep使用技巧

入门小站

Linux

架构实战营 模块一作业

Gor

【LeetCode】链表的中间结点Java题解

Albert

LeetCode 5月月更

《卡片笔记写作法》:用卡片积累思考

郭明

Redis「7」实现分布式锁

Samson

redis 学习笔记 5月月更

架构训练营 模块一作业

小马

「架构实战营」

druid 源码阅读 8——过一下流程图的init

张大彪

开启Tomcat管理注主页功能

jiangxl

tomcat

JAVA程序对应不同的部署环境针对配置文件如何管理

jiangxl

Java tomcat

实现 LRU 缓存算法

Se7en

【架构训练营】模块一作业

知北游

学生管理系统架构设计

Justin1024

Internet Explorer更改MIME处理方式以提高安全性_Java_崔康_InfoQ精选文章