我有一个网站,我需要从自身以及其他网址加载资源。
因此,在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>"
有人可以建议我如何解决这个问题吗?
谢谢和问候, 杰克
答案 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