【问题标题】:use X-Frame-Origin so that it's allowed on one site but nowhere else使用 X-Frame-Origin 以便它在一个站点上被允许,但在其他任何地方都不允许
【发布时间】:2022-01-22 06:21:39
【问题描述】:

你是怎么做到的?

在 example.com 上,我需要它,以便 example.com 的 iFrame 可以在 subdomain.example.co 加载。

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

所以看起来只有两个选项:

X-Frame-Options: DENY 
X-Frame-Options: SAMEORIGIN

我想要的那个

ALLOW-FROM uri 

根据链接的 MDN 已弃用。

然后是帧源

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors

HTTP 内容安全策略 (CSP) 框架祖先指令 指定可以使用 , , 嵌入页面的有效父级 , , 或 .

将此指令设置为 'none' 类似于 X-Frame-Options: deny (旧版浏览器也支持)。

“合法父母”是什么意思?我具体在哪里设置这个?它没有说明您需要更改服务器上的哪个文件。

如果我说

Content-Security-Policy: frame-ancestors subdomain.example.co;

这行得通吗?如果是这样,我应该在服务器配置的哪个位置执行此操作?

【问题讨论】:

    标签: iframe content-security-policy x-frame-options


    【解决方案1】:

    frame-ancestors 只能在 Content-Security-Policy 设置为响应头时设置。它可以在 .htaccess 文件中进行控制,但也可以在其他类型的配置、代码、网络服务器或代理中进行设置,具体取决于您的设置。

    “有效父母”将是允许构建您的页面的主机。它可以是多个不同的页面和框架链中的所有主机。

    当您还将框架祖先设置为框架祖先时,您可以为 IE 使用 X-Frame-Options ALLOW-FROM,这将导致浏览器忽略大多数其他浏览器的 X-Frame-Options。如果您在代码中设置值,您可以在引用者匹配时从可接受的成帧器列表中插入一个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多