我有一个看起来像这样的框架: <iframe srcdoc="*insert HTML here*"></iframe>
。
框架中可能有一些JavaScript,没关系。
如何防止该框架的内容连接到网络?
这包括: -JavaScript的HTTP请求和WebSocket连接等 - CSS中引用的远程资源 - HTML代码中的外部文件
是否有某种沙盒规则可以禁用远程连接,还是我必须将所有这些都判处所有这些规则?如果是这样,在应用正则时,我应该注意什么?
当前没有可靠的方法来实现这一目标。
sandbox
属性不能应用您要在此处应用的限制类型。内容 - 安全性可以(有些困难(,但是目前没有办法可靠地将这种策略应用于<iframe>
,该策略具有由srcdoc
属性设置的内容,因为无法为此类http标头模拟HTTP标头文档。实际上,使用srcdoc
的iframe被简单地视为嵌入它的页面的一部分,并继承了该页面的任何内容安全性!
W3C草案规范"内容安全策略:嵌入式执法"提出了csp
属性。将来,这可能是可将限制应用于此文件的使用。
同时,您可能需要通过沙盒域来提供此内容,或重新考虑您的设计。