写点什么

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

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

关注

评论

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

VMWare中Ubuntu网络配置

进击的梦清

Linux 运维 vmware 网络配置

【LeetCode】停在原地的方案数Java题解

Albert

算法 LeetCode 5月日更

华为云官网负责人明哥:我们是如何做到门面不倒,8个月挑战业界翘楚?

华为云开发者联盟

JavaScript node.js Serverless 云原生 大前端

华为中国生态大会2021举行在即,GaussDB将重磅发布5大解决方案

华为云开发者联盟

数据库 opengauss 华为云 GaussDB 云数据库

作为最好用的可观测平台,如何监控 Grafana

耳东@Erdong

Grafana Prometheus 5月日更

最近又有出什么新电影,要不要停泊片刻,与好友相约一起来去看呢?

叶小鍵

如何让消息队列达到最大吞吐量?

万俊峰Kevin

微服务 消息队列 Queue Go 语言

聊聊人像抠图背后的算法技术

华为云开发者联盟

hilens 抠图 工程 抠图算法 baseline

无常中的僵硬与柔软

zhoo299

随笔杂谈 教育 生命 5月日更

Dubbo 本地调用

青年IT男

dubbo

Arthas-技术专题-使用指南

码界西柚

Arthas 5月日更

百信银行基于 Apache Hudi 实时数据湖演进方案

Apache Flink

大数据 flink

cri-o 技术探秘2

xumc

Python自动打印文件

IT蜗壳-Tango

IT蜗壳教学 5月日更

ThreadLocal不好用?那是你没用对!

王磊

Java 后端 多线程 ThreadLocal 5月日更

给Java小白,整理一套能上手的简单编程算法题!!!

小傅哥

Java 程序员 数据结构 算法 小傅哥

深度剖析 | 关于数据锁定和读取一致性问题

VoltDB

数据库 数据分析 5G

一文带你读懂PyQt:用Python做出与C++一样的GUI界面应用程序

老猿Python

Nginx性能分析之gpreftools

运维研习社

nginx 性能分析 5月日更

python str模块

若尘

Python编程 str 5月日更

Golang 工作区和 GOPATH

escray

学习 极客时间 Go 语言 5月日更

找Matlab代码,看这一篇就够了

攻城先森

matlab 工具分享 5月日更

追寻软件定义的梦想汽车

车骑

自动驾驶 智能汽车 软件定义汽车 汽车制造

不忘过去,不畏将来

小天同学

5月日更 汶川地震 不忘过去

精选面试题教你应对高级iOS开发面试官(提供底层进阶规划蓝图)

程序员 移动开发 ios开发

怎样做好服务提供方

程序员架构进阶

架构设计原则 服务化 28天写作 5月日更

声网、新东方、伴鱼英语的音视频技术解读

Jessie

音视频 视频消音

SpringBoot技术专题—来看看异步处理返回方案

码界西柚

Java WebAsyncTask 5月日更 AsyncContext DeferredResult

「学习笔记」《02 | 第一个程序:教你输出彩色的文字》之二

Nydia

学习

音视频在智能手表上的应用

anyRTC开发者

音视频 WebRTC IoT RTC

Fluid 进入 CNCF Sandbox,加速大数据和 AI 应用拥抱云原生

阿里巴巴云原生

人工智能 容器 云原生 调度 弹性计算

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