【发布时间】:2022-01-23 05:13:28
【问题描述】:
你是怎么做到的?我只希望另一个网站能够在 iFrame 中加载我的主网站,但没有任何效果。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
显然,据我了解,您在 .htaccess 中设置的协议是这样的
到目前为止我已经尝试过
1.
Header set Content-Security-Policy "frame-ancestors 'self' https://example.subdomain.co;"
2.
Header always set Content-Security-Policy "frame-ancestors 'self' 'https://example.subdomain.co';"
3.
Header set Content-Security-Policy "frame-ancestors 'self' 'https://example.subdomain.co';"
这些都不起作用。当我尝试在 https://example.subdomain.co 中加载 example.com 的 iframe 时,出现以下错误:
拒绝在框架中显示“https://example.com/”,因为它设置了 'X-Frame-Options' 到 'sameorigin'。
然后我变得更加困惑,因为显然你只能用这个做 DENY 和 SAMEORIGIN。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
X-Frame-Options HTTP 响应标头可用于指示 是否应允许浏览器在 a 中呈现页面
, , 要么 。网站可以使用它来避免 点击劫持攻击,通过确保其内容不被嵌入 进入其他网站。仅当用户访问文档时才提供附加的安全性 正在使用支持 X-Frame-Options 的浏览器。
我想要的是ALLOW FROM 但是
ALLOW-FROM uri 这是一个过时的指令,不再适用于 现代浏览器。不要使用它。在支持旧版浏览器时,页面 只能在指定的原始 uri 上显示在框架中。笔记 在旧版 Firefox 实现中,这仍然受到 与 SAMEORIGIN 相同的问题 - 它不检查框架祖先 看看它们是否在同一个来源。内容安全策略 HTTP 标头有一个 frame-ancestors 指令,您可以使用它来代替。
它已被弃用并且不起作用。
Refused to display in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'
回答没有帮助,因为他们不谈论我想做什么,他们只是解释它是什么
How to set 'X-Frame-Options' on iframe?
同样,没有帮助,因为它向 OP 解释标头是在 iframe 源中的网站上设置的
有没有办法以某种方式为框架祖先设置 X-Frame-Options 以使其工作,以便我可以在另一个特定网站上加载我网站的 iframe?或者这不可能?
【问题讨论】:
-
因此,您的服务器 also 使用过时的 X-FRAME-OPTIONS 标头响应这一事实阻碍了您为此定义适当 CSP 的尝试 - 所以请尝试 删除后者(
Header unset)
标签: .htaccess iframe content-security-policy response-headers