HTML5 iframe沙箱属性的值

Ben*_*rce 12 iframe html5 attributes sandbox

我一直在阅读HTML5的s sandbox属性<iframe>.根据文档,该sandbox属性允许开发人员有选择地限制可以在其中执行的操作<iframe>.沙箱属性纯粹是一种安全措施吗?该sandbox属性是否允许Web设计人员实现任何新功能,如果是这样,任何人都可以指向任何示例?

Dav*_*der 10

嗯,它纯粹是一种安全功能,但它确实允许新的功能.例如,嵌入第三方(用户)内容(例如HTML文件).传统上,您需要设置一个单独的域,您可以从该域中提供该内容,但是您现在可以从任何地方提供服务,并将其视为来自单独的域.

最重要的是,它可以防止这些第三方内容做某些事情,这是你以前无法阻止的:

  • allow-top-navigation:防止它爆发
  • allow-pointer-lock:防止它将光标作为人质
  • allow-popups:防止它通过弹出窗口突破
  • allow-scripts:简单地阻止所有脚本(也可以通过CSP完成)

实际上,sandbox属性与受控CSP标头相结合,可以在安全的环境中运行第三方代码,实现令人难以置信的控制.它还不是100%,但我们已经非常接近了.

  • @BenPearce 啊,混合内容警告之类的?据我所知,没有浏览器使用“沙箱”来影响这些警告。这样做的原因可能是确定加载哪个 URL 仍然发生在安全环境中,因此 MiTM 对不安全的沙箱仍然会允许大量安全漏洞并给用户一种虚假的安全感。 (2认同)