当我在 apache 中使用 x-frame headers 选项时出现错误。
Header always append X-Frame-Options ALLOW-FROM site1,site2,site3
or
Header always append X-Frame-Options ALLOW-FROM=site1,site2,site3
or
Header always append X-Frame-Options ALLOW-FROM=site1
Header always append X-Frame-Options ALLOW-FROM=site2
Header always append X-Frame-Options ALLOW-FROM=site3
我如何设置 X-Frame-Options: ALLOW-FROM 以支持多个域?
Thanks!
值得注意的是 ALLOW-FROM 正在从 Firefox 70 中删除 https://www.fxsitecompat.dev/en-CA/docs/2019/x-frame-options-allow-from-directive-has-been-removed/,其他浏览器也可能会效仿。您将需要使用 CSP框架祖先 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors相反,该指令受支持约95% https://caniuse.com/contentsecuritypolicy2的浏览器。
那么你的例子将是:
Header always append Content-Security-Policy "frame-ancestors site1 site2 site3;"
编辑:frame-ancestors 在新浏览器中覆盖 X-FRAME-OPTIONS,因此理论上您可以为旧浏览器设置一个值,并让 CSP 在新浏览器中覆盖它,但问题是没有 X-FRAME-OPTIONS 值这将使您嵌入多个网页。唯一有效的选项是拒绝(任何地方都不允许)、同源(仅限您的网站)和允许(从现代浏览器中删除,无论如何只允许一个网站)。
您想要覆盖的旧 X-FRAME-OPTIONS 值根本没有。这将允许您将您的网站嵌入到多个其他网站(所有这些网站)中,并将其限制为您在现代浏览器中允许的网站。
如果不嵌入不允许的站点比嵌入允许的站点更重要,则将上述内容与以下内容结合起来:
Header always append X-Frame-Options "DENY"
这将阻止您的网站嵌入到大约 3% 的浏览器中的所有网站中,仅在 95% 的浏览器中允许的网站中显示,并在其余 2% 的浏览器中随处显示(甚至 X-FRAME-OPTIONS并非所有地方都支持 https://caniuse.com/x-frame-options).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)