2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

小模型如何击败大机构AI系统:Coral协议技术解析

qife122

人工智能 开源框架

二级域名解析怎么操作?需要注意哪些事项?

防火墙后吃泡面

全连接贝叶斯神经网络权重后验集中性研究

qife122

贝叶斯神经网络 后验集中

【新特性】 华为云ModelArts Versatile-AI原生应用引擎新增特性介绍(2025年7月发布)

华为云开发者联盟

Dify入门系列(2)| 5 分钟部署 Dify:云服务 vs 本地 Docker

测吧(北京)科技有限公司

人工智能 软件测试 智能体 测试发开 dify

业务多变,流程难定?ManageEngine卓豪灵活工作流支持全场景自定义

ServiceDesk_Plus

基于开发者空间GaussDB云数据库的PLpgSQL实践二

华为云开发者联盟

sql opengauss 华为开发者空间

零基础AI编程开发微信小程序赚流量主广告实战

陆通

甲方视角的“自主可控”:低代码与厂商二次开发的全维度对比

星云低代码中间件

低代码 开发工具 数字化 企业应用

[意图识别]大模型对话型多Agent协同的绊脚石

小奇同学

智能体 意图识别 智能体调度

CodeBuddy IDE 实用技巧上线,如何让你的 AI 更懂你

六月的雨在InfoQ

CodeBuddy首席试玩官 CodeBuddyIDE AIIDE

热更新技术范式跃迁:AI驱动下从效率工具到智能生态中枢的重构

xuyinyin

龙蜥社区成立智算基础设施联盟 汇聚产业力量打造 AI 开源新基座

OpenAnolis小助手

开源 AI 操作系统 龙蜥社区 龙蜥智算基础设施联盟

基于开发者空间GaussDB云数据库的PLpgSQL实践一

华为云开发者联盟

sql opengauss 华为开发者空间

腾讯提前批是真难

王中阳Go

程序员 面试

Caddy安全插件中的10个安全漏洞分析与修复方案

qife122

网络安全 SSO

使用spaCy和Thinc构建可训练关系抽取组件

qife122

深度学习 关系抽取

在线教育行业需要用到堡垒机吗?为什么?

行云管家

网络安全 在线教育 等保

[鸿蒙征文]Previewer预览器数据模拟

大展红图

HarmonyOS NEXT

CST软件2023版新功能介绍2:两个提升效率小技巧

思茂信息

仿真 CST软件 CST Studio Suite

全球社交媒体监控的技术挑战与突破

沃观Wovision

社交媒体 舆情监控 沃观Wovision 舆情监测系统

龙蜥开发者说:一位开源贡献者的国产操作系统“铸魂”历程 | 第 33 期

OpenAnolis小助手

操作系统 龙蜥开发者说

行程信息一眼掌握!铁路12306接入实况窗带来安心出行新体验

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

6 个替代飞书多维表格的开源无代码数据库工具

NocoBase

数据库 开源 零代码 表格 无代码

LevelDB 多版本和压缩

数新网络官方账号

25年南昌市等保测评机构地址一览表

行云管家

第七在线7大价值 助力品牌实现智能化供应链决策

第七在线

华为云入选Gartner®容器管理魔力象限领导者

华为云原生团队

云计算 容器 云原生

压测实战 | 高校选课系统压力测试实战教程

优测云服务平台

压测 高校

特斯拉、智元机器人、宇树科技三重催化,产业链上市公司齐飞!

机器人头条

科技 大模型 人形机器人 具身智能

测试匠谈 | AI语音合成之大模型性能优化实践

优测云服务平台

测试 语音ai

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