免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

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:081980
用户头像

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

关注

评论

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

涅槃重生,BitKeep如何闯出千万用户新起点

股市老人

2023-05-12:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号, 给你一个数组 graph 表示这个图, 其中,graph[i] 是一个列表,由所有与节点 i

福大大架构师每日一题

Go 算法 rust

BitKeep逆势崛起:千万用户的信任,终点还未到来

鳄鱼视界

一篇文章教你在业务开发中高效玩转TDD(测试驱动开发)

Java你猿哥

Java ssm TDD

23年最新Java岗常见面试题及答案(1000道),90% 的公司都会问到

Java你猿哥

Java MySQL zookeeper JVM java面试

专家共话:存力一体成“东数西算”全场景利器

脑极体

算力

2023开源之夏|来自MatrixOne社区的邀请函

MatrixOrigin

MatrixOrigin MatrixOne 开源之夏

新技术层出不穷,程序员到底该走哪条路|社区征文

阿泽🧸

职业规划 三周年征文

PoseiSwap:合规、隐私与支持更广泛的资产

BlockChain先知

Java补充之MySQL入门必备知识

timerring

Java

ES数据没了?谁动了我的数据?

极限实验室

elasticsearch 数据误删 数据丢失

Github标星90K!不愧是阿里大牛珍藏的LeetCode题解全彩小册

Java你猿哥

面试 算法 LeetCode ssm 算法题

从 ChatGPT 大热看未来的云计算的发展趋势 | 社区征文

宇宙之一粟

ChatGPT 三周年征文

奇葩的 Git 签名错误

HoneyMoose

如何优化Golang中重复的错误处理

乌龟哥哥

三周年连更

Kubernetes CNI之Flannel网络模型分析

王玉川

Kubernetes 云原生 flannel VXLAN cni

MySQL 安装配置

芯动大师

MySQL shell脚本 三周年连更

比起失业我更害怕自己“一无是处”|社区征文

轻口味

个人成长 移动端 三周年征文

使用Spring Boot接入ChatGPT

Java你猿哥

Java spring Spring Boot ssm ChatGPT

失业浪潮之下,不如一蓑烟雨任平生 | 社区征文

宇宙之一粟

Django笔记二十六之数据库函数之数学公式函数

Hunter熊

Python 数据库 django 公式函数

利用 Amazon API Gateway 和 Amazon Lambda 处理 Cloudfront 的内容请求

亚马逊云科技 (Amazon Web Services)

Go语言中如何通过接口来实现单一职责原则

Jack

C++编译器和链接器的完全指南

小万哥

c++ 程序员 面试 后端 开发

涅槃重生,BitKeep如何闯出千万用户新起点

BlockChain先知

一文讲明白路由器的基本概念、工作原理、主要部件以及应用场景

wljslmz

路由器 三周年连更

深入探秘OpenTelemetry Agent奇特的muzzle机制

骑牛上青山

Java Java Agent OpenTelemetry

知乎文章被百度收录有何意义?如何让知乎文章被百度收录?

石头IT视角

文心一言 VS chatgpt (16)-- 算法导论4.1 1~2题

福大大架构师每日一题

ChatGPT 文心一言

系列课程:从零开始接触人工智能大模型(介绍)

茶桁

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