点击这里给我发消息 点击这里给我发消息

HTML5针对iframe元素增加sandbox属性

添加时间:2013-12-6
    相关阅读: 开发 技术 页面 数据库 SQL HTML

HTML 5将针对iframe元素增加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 元素发生了很多事情,Google通过H.264标准对

其进行实现,而其他浏览器则使用了不同的标准或是干脆还没有实现。但这种情况不会发生在这里

,因为每个浏览器都可以在内部自由决定如何实现sandbox。但即便是明天所有的主流浏览器都采

用了sandbox,众多的开发者和内容管理者也不能立刻就使用它,因为还有那么多的遗留浏览器会

忽略掉该属性,因此稳妥的办法还是采取常规的安全手段来保护iFrames。


 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册