因此,我只想在iframe中沙箱放置一个html文件,只要有allow-scripts
属性,它就可以工作,但是一旦添加allow-same-origin
,它就会因为以下原因而停止工作:< / p>
关于沙箱的注意事项: 当嵌入文档的来源与嵌入页面相同时,强烈建议不要同时使用允许脚本和 allow-same-origin ,嵌入式文档会删除沙箱属性-使其比根本不使用沙箱属性更安全。 如果攻击者可以在沙盒iframe外部显示内容,例如查看者在新选项卡中打开框架,则沙盒无用。此类内容也应从其他来源提供,以限制潜在的损害。 Internet Explorer 9和更早版本不支持sandbox属性。来自:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
iframe代码:
<iframe src="index.html" sandbox='allow-scripts allow-same-origin'></frame>
我想要allow-same-origin
,因为我想在iframe中使用与index.html中相同的CSS。
答案 0 :(得分:0)
将iframe托管在其他域中。使用sandbox="allow-scripts allow-same-origin"
时,这将确保iframe的安全。
但是无论哪种方式,CSS都不会在iframe中继承。实际上,这就是iframe的全部目的。即使未设置allow-same-origin
,您也可以在两个页面中加载相同的CSS文件。