IE和Chrome的Apache X-Frame-Options冲突(只有一个工作!)

时间:2018-02-22 07:03:27

标签: apache google-chrome internet-explorer x-frame-options allow-same-origin

我有一个网站,我需要从自身以及其他网址加载资源。

因此,在Apache中,我添加了SAMEORIGIN和ALLOW-FROM。

有趣的是,Chrome拒绝显示该页面,声明有多个X-Frame-Options标题包含有冲突的值,并且会回到“拒绝”状态。另一方面,IE工作正常!

我通过删除SAMEORIGIN修改了它,并将我的原始站点URL添加到ALLOW-FROM中。这次,Chrome可以运行,但IE却没有!

如果您想尝试,我会使用这些设置来解决问题:

# Test 1: Use these 2 lines will make IE work, but not Chrome
Header always append X-Frame-Options "SAMEORIGIN"
Header always append X-Frame-Options "ALLOW-FROM https://www.google.com"

# Test 2: Use these 2 lines will make Chrome work, but not IE 
# (<MyBaseServerURL> represents the location as indicated by the "SAMEORIGIN")
Header always append X-Frame-Options "ALLOW-FROM https://www.google.com"
Header always append X-Frame-Options "ALLOW-FROM https://<MyBaseServerURL>"

有人可以建议我如何解决这个问题吗?

谢谢和问候, 杰克

2 个答案:

答案 0 :(得分:0)

这是因为FireFox仅支持ALLOW-FROM。

请改用内容安全策略。

Nginx:

add_header Content-Security-Policy "frame-src self *.mydomain.example";

答案 1 :(得分:0)

X-Frame-Options HTTP 响应标头可用于指示是否应允许浏览器以 、 或 呈现页面。网站可以使用它来避免点击劫持攻击,确保其内容不会嵌入到其他网站中。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options