HTML 沙箱

示例

以下嵌入启用了所有限制的不受信任的网页

<iframe sandbox xx_src="http://example.com/"></iframe>

要允许页面运行脚本和提交表单,请在allow-scripts和allow-forms中添加和sandbox attribute。

<iframe sandbox="allow-scripts allow-forms" xx_src="http://example.com/"></iframe>

如果在与父网页相同的域中存在不受信任的内容(例如用户评论),则可以使用iframe禁用脚本,同时仍然允许父文档使用JavaScript与它的内容进行交互。

<iframe sandbox="allow-same-origin allow-top-navigation" xx_src="http://example.com/untrusted/comments/page2">

父文档可以添加事件侦听器并调整IFrame的大小以适合其内容。与一起使用allow-top-navigation,可以使沙盒iframe看起来像是父文档的一部分。

该沙箱不能代替清理输入,但可以用作纵深防御策略的一部分。

还应注意,攻击者可以说服用户直接访问iframe的源来破坏此沙箱。内容安全策略HTTP标头可用于缓解此攻击。