在嵌套iFrame的情况下,x-Frame-option如何工作?

时间:2017-03-10 00:48:24

标签: iframe http-headers x-frame-options clickjacking

我有一个网页,可以呈现一些嵌套的iFrame。让我们说abc.com加载def.com,然后在另一个iFrame中打开ghi.com。 abc.com - > def.com - > ghi.com

ghi.com的选项设置为只允许某些特定网站进行iFrame。 ghi.com中的设置应该是什么才能让它呈现?我们是否需要白名单abc.com和def.com,或者只有def.com或abc.com?

1 个答案:

答案 0 :(得分:0)

在尝试在IE 11中允许这种情况时,我遇到了使用X-Frame-Options的情况。我发现将X-Frame-Options值设置为" ALLOW-FROM top-level-site-domain& #34;为两个嵌套的iFrame中的响应工作。使用您的示例,def.com和ghi.com响应都会将标题设置为:

" X-Frame-Options":ALLOW-FROM abc.com

作为附注,根据OWasp,在您的示例中将def-X-Frame-Options标题设置为ALLOW-FROM,为ghi.com设置SAMEORIGIN将无效。

请注意,其他浏览器(例如Chrome)支持您也希望设置的内容安全政策。在我们的例子中,我们的域名都是子域名,因此我们的场景使用通配符可以轻松地使用此标题。 first.example.com的场景 - > second.example.com - > third.example.com允许我们为second和third.example.com响应标头设置以下内容:

" Content-Security-Policy&#34 ;: frame-ancestors' self' HTTPS://*.example.com