写点什么

HTML 5 通过 sandbox 属性提升 iFrame 的安全性

  • 2010-01-30
  • 本文字数:1422 字

    阅读完需:约 5 分钟

目前 Web Hypertext Application Technology Working Group (WHATWG)正与 W3C 通力合作建立 HTML 5 标准,在过去 3 个月中,该项工作已经进入到了 WHATWG 的“ Last Call ”阶段。在这期间,变化最大的一个特性就是 iframe 元素的 sandbox 属性。sandbox 属性可以防止不信任的 Web 页面执行某些操作。

HTML 5 规范的编辑 Ian Hickson谈到了sandbox 的好处,它可以防止如下操作:

  • 访问父页面的 DOM(从技术角度来说,这是因为相对于父页面 iframe 已经成为不同的源了)
  • 执行脚本
  • 通过脚本嵌入自己的表单或是操纵表单
  • 对 cookie、本地存储或本地 SQL 数据库的读写

HTML 5 的修订历史页面还提到了 sandbox 的其他特性:

  • 禁用插件
  • 禁止其他浏览上下文的导航
  • 禁止弹出窗口和模式对话框

iFrames 因安全问题而臭名昭著,这主要是因为 iFrames 常常被用于嵌入第三方内容,而后者则可能会执行某些恶意操作。sandbox 通过限制被嵌入内容所允许的操作而提升 iFrames 的安全性。这种方式将沙箱内容与父页面进行了分离,因此限制了被嵌入内容的权限。

与 sandbox 一起出来的还有其 MIME 类型:text/html-sandboxed。Hickson 说到:

text/html-sandboxed MIME 类型确保用户不会访问到不可信的内容。它包含两部分内容:首先,如果用户直接访问页面时,浏览器不可以渲染那些具有 text/html-sandboxed MIME 类型的页面。目前所有浏览器都支持这一点,这些浏览器会下载页面的标记但不会渲染页面;其次,支持 sandbox 属性的浏览器需要渲染具有 text/html-sandboxed MIME 类型的 iframes(但会受到 sandbox 属性中所设定的权限限制)目前为止,还没有浏览器实现这一点,Google Chrome 也是如此(它会渲染父页面,但却下载 iframe 内容而非在 iframe 中对其进行渲染)。因此目前还没法使用该项技术,除非 Google 更新 Chrome 以支持这一点(从理论上来说,其他的浏览器厂商在实现了对 sandbox 属性的支持后就会实现该技术,让我们拭目以待吧)。

目前,只有 Google Chrome 4.0 使用了 sandbox,Firefox、IE8 和 Safari 都还没有实现这一点,但相信不久之后这些浏览器都会实现的。围绕着 HTML 5 <video> 元素发生了很多事情,Google 通过 H.264 标准对其进行实现,而其他浏览器则使用了不同的标准或是干脆还没有实现。但这种情况不会发生在这里,因为每个浏览器都可以在内部自由决定如何实现 sandbox。但即便是明天所有的主流浏览器都采用了 sandbox,众多的开发者和内容管理者也不能立刻就使用它,因为还有那么多的遗留浏览器会忽略掉该属性,因此稳妥的办法还是采取常规的安全手段来保护 iFrames。

查看英文原文: The HTML 5 sandbox Attribute Improves iFrame Security

2010-01-30 00:063713
用户头像

发布了 88 篇内容, 共 268.3 次阅读, 收获喜欢 8 次。

关注

评论

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

洋酒品牌数字化案例:数据与算法加持营销增长

奇点云

大数据

炸裂!这款社交圈子论坛系统源码让你的社区运营如鱼得水

DUOKE七七

php MySQL uniapp

AI 口语陪练 APP 会话场景设计

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

区块链钱包开发的安全测试

北京木奇移动技术有限公司

智能合约 区块链技术 软件外包公司

天翼云荣获中国信通院“引领级”认证,树立云服务行业新标杆!

天翼云开发者社区

云计算 云服务

Apache IoTDB 树表双模型直播回顾(上)

Apache IoTDB

Apache Doris 3.0.4 版本正式发布

SelectDB

数据库 数据湖 数据分析 Doris #大数据

01. HarmonyOS应用开发实践与技术解析

全栈若城

HarmonyOS

论AI与鸭血粉丝汤: 一场美味的“数据烹饪”之旅

权说安全

AI 网络安全

低代码平台未来发展趋势有哪些?

伤感汤姆布利柏

用友BIP生态全新升级,推进中国和全球企业软件产业生态进入AI时代

人称T客

迎接AI+SaaS的黄金十年,金蝶准备好了

人称T客

“码农”成长记,渐渐不想「砸」电脑了

秃头小帅oi

AI口语陪练APP的场景测试

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语口语

AI 口语教练 APP 场景设计

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI口语学习

Go 语言常见错误——数据类型

FunTester

英特尔在ISSCC 2025发表多项技术进展,推进AI时代的创新矩阵

E科讯

CST软件分析:超表面---经典蘑菇型结构的AMC特性与EBG特性

思茂信息

cst cst操作 CST软件

智慧能源管理系统解决方案(Word)

金陵老街

智慧能源 智慧能效

AI是否能真正理解人类情感?从语音助手到情感机器人

天津汇柏科技有限公司

人工智能 AI

伊利奶粉工厂通过TPM特别奖终审 再为行业树立标杆

极客天地

HTML 5通过sandbox属性提升iFrame的安全性_安全_Abel Avram_InfoQ精选文章