Chrome 5 率先支持 @sandbox HTML 5 功能
对于网页开发者来说,最近刚刚发布的 Chrome 5.0 稳定版还加入了一个新的 HTML 5功能——@sandbox,该功能的作用就是允许网页开发者降低他们的部分网页权限,方法很简单,给 iframes 框架加上 sandbox 属性即可,目前 Chrome 是唯一支持该功能的浏览器。
<iframe sandbox src="http://attacker.com/untrusted.html"></iframe>
比如上面这段代码就是典型的在 iframe 框架中使用 sandbox(沙箱)属性的例子,当浏览器渲染这个 untrusted.html 的时候就会降低该网页的权限,比如禁用 Javascript 代码的执行和弹窗,这个功能其实非常类似于 Chrome 自己的沙箱(Sandbox)引擎。
白名单:
你也可以通过 @sandbox 白名单的方式允许框架中网页的部分权限执行,比如允许上面的 untrusted.html 执行脚本和表单,代码就可以写成下面这样,也就是给 sandbox 属性加一个相应的标记就可以了:
<iframe sandbox="allow-scripts allow-forms" src="http://attacker.com/untrusted.html"></iframe>
不过,上面例子中只会给框架中的 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
我们欢迎任何形式的转载,但请务必注明出处,尊重他人的劳动就是尊重自己
转载文章请注明:文章转载自:Chrome迷 (http://www.chromi.org)
本文标题:Chrome 5 率先支持 @sandbox HTML 5 功能
本文地址:http://www.chromi.org/archives/4958

也就是说自家的 Analytics 都跑不起来了 lol
每天路过来看看