html5 sandbox,Chrome 5 率先支持 @sandbox HTML 5 功能

对于网页开发者来说,最近刚刚发布的 Chrome 5.0 稳定版还加入了一个新的 HTML 5功能——@sandbox,该功能的作用就是允许网页开发者降低他们的部分网页权限,方法很简单,给 iframes 框架加上 sandbox 属性即可,目前 Chrome 是唯一支持该功能的浏览器。

比如上面这段代码就是典型的在 iframe 框架中使用 sandbox(沙箱)属性的例子,当浏览器渲染这个 untrusted.html 的时候就会降低该网页的权限,比如禁用 Javascript 代码的执行和弹窗,这个功能其实非常类似于 Chrome 自己的沙箱(Sandbox)引擎。

白名单:

你也可以通过 @sandbox 白名单的方式允许框架中网页的部分权限执行,比如允许上面的 untrusted.html 执行脚本和表单,代码就可以写成下面这样,也就是给 sandbox 属性加一个相应的标记就可以了:

不过,上面例子中只会给框架中的 untrusted.html 这个页面开放脚本和表单权限而已,对于没有加入白名单的权限仍然会受到限制,比如创建弹窗或者instantiate plug-ins 都会受到权限的限制(点击这里查看所有支持的指令),最大限度的保证了安全性。

由于目前其他浏览器和一些较老的浏览器都还不支持在 iframe 内使用 @sandbox 属性,所以如果你要使用这个功能的话,最好先考虑一下其他浏览器对网页的渲染。目前的建议就是将 @sandbox 属性作为一个备选安全防线,因为你加了这个元素之后,其他浏览器根本不明白这个属性是干嘛的,就可能导致网页渲染错误。

如果你只想在支持 @sandbox 属性的浏览器中显示不受信任的内容(一般用于测试),你可以使用下面的代码来检测浏览器是否支持 @sandbox 属性:

if ("sandbox" in document.createElement("iframe")) {

// This browser supports @sandbox. We can sandbox untrusted

content with confidence.

}

Via Chromium Blog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值