【发布时间】:2016-01-23 10:36:02
【问题描述】:
我的网站为用户提供丰富的内容。我经常订阅我在页面中嵌入内容的第三方供应商。如何在 iframe 中安全地将外部域的内容嵌入到我的网页中,而不用担心它们无法超出框架。他们不会故意这样做(不会危及他们的客户/声誉)。但是,由于它们几乎总是小商店,因此它们成为想要破坏/重定向我的网站的攻击者的热门目标。
我不是在问如何防止 iframe 访问父框架的 DOM,我知道它不能。我在问我们如何防止 iframe 停止执行以下操作(不需要访问父级的 DOM):
top.location=url
是否有我可以在我的父页面上使用的标题(与 X-Frame-Options 类似/相反的东西)以确保我嵌入的 iframe 不会被淘汰?请记住,我不能要求供应商将标题/脚本添加到他们的页面。他们从不故意对我的页面做坏事。我试图涵盖的场景是他们被黑客入侵的场景。
【问题讨论】:
-
听起来您正在寻找
<iframe>元素的新sandbox属性。 -
你可以使用
sandbox属性阻止JS在框架内运行
标签: javascript html security iframe