写点什么

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

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

关注

评论

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

接入应用内支付服务,提高商业变现效率

HarmonyOS SDK

HarmonyOS

五问五答|看忆联eMMC如何赋能智能电视长效稳定

新消费日报

会员信息一键同步!微盟与客如云联手打造智能服务新体验!

聚道云软件连接器

案例分享

软件测试学习笔记丨Allure2报告中添加用例分类

测试人

软件测试

深度解读昇腾CANN内存复用技术,降低网络内存占用

华为云开发者联盟

人工智能 神经网络 华为云 华为云开发者联盟 企业号2024年7月PK榜

软件测试学习笔记丨Allure2报告中添加用例步骤

测试人

软件测试 测试开发

新加坡工作和生活指北:教育篇

Keegan小钢

教育

Solana近况及解读:Sol链代币DApp开发详解

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

数字身份管理发展趋势:使用区块链技术进行身份管理

芯盾时代

区块链 数字身份 身份安全 统一身份认证

华为如何助力金融大模型开出价值之花

脑极体

AI

智源打造基于Triton的大模型算子库,助力AI芯片软硬件生态建设

智源研究院

WebSocket vs. SSE:哪种实时通信技术更适合你?

Apifox

前端 后端 websocket 实时通信 sse

智启未来,共筑云上生态,华为云生态领航者·总裁班走进深圳南山

最新动态

什么是MES系统?有什么作用?

万界星空科技

制造业 生产管理系统 mes 万界星空科技

运营海外社媒效率低?试试云手机!

Ogcloud

云手机 海外云手机 云手机海外版 社媒运营 海外社媒运营

华为云Astro低代码平台开启AI敏捷组装时代,探索低代码创新无限可能

轶天下事

【好消息】祝贺傲冠行云服务获得深圳知名品牌称号!

行云管家

IT 知名品牌 傲冠行云服务

Databend 开源周报第 152 期

Databend

MES系统定制 | 生产调度车间排班计划/MES排程排产

万界星空科技

生产管理系统 mes 万界星空科技 排版排产计划

告别手工录入,企业财务凭证同步迈入智能新时代!

聚道云软件连接器

案例分享

什么?这动物图片可以上国家地理?

程序那些事

程序那些事 Stable Diffusion

亚信科技入选信通院“数据智能产业图谱”, 打通数据智能服务全链路!

亚信AntDB数据库

AntDB数据库

第58期 | GPTSecurity周报

云起无垠

AIGC GPT

iPaaS丨企业应用及数据集成的重要性和挑战

RestCloud

数据集成 ipaas 数据挑战

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