我试图在Nginx中设置ALLOWED-FROM,但到目前为止我尝试过的所有设置都会导致以下Chrome错误:
Invalid 'X-Frame-Options' header encountered when loading 'https://domain.com/#/register': 'ALLOW-FROM domain.com' is not a recognized directive. The header will be ignored.
我尝试的这些选项是:(也尝试使用带有https://
前缀的FQDN)
add_header X-Frame-Options "Allow-From domain.com";
add_header X-Frame-Options "ALLOW-FROM domain.com";
add_header X-Frame-Options "ALLOW-FROM: domain.com";
add_header X-Frame-Options "Allow-From: domain.com";
add_header X-Frame-Options ALLOW-FROM "domain.com";
add_header X-Frame-Options ALLOW-FROM domain.com;
答案 0 :(得分:24)
在Chrome和Safari中,您需要使用内容 - 安全政策
Content-Security-Policy: frame-ancestors domain.com
您可以在此网站查看更多详细信息:
https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives
答案 1 :(得分:1)
某些较旧的浏览器不支持内容安全策略,因此正确的语法为
add_header X-Frame-Options ALLOW-FROM domain.com;
以及新版本的浏览器均支持内容安全政策
add_header Content-Security-Policy frame-ancestors domain.com;
您应同时使用两个标头,以确保在所有浏览器中均受支持
要了解更多浏览器对X-Frame-Options和内容安全策略的支持(CSP浏览器支持数据已按2017年12月19日的规定过时。当前所有主流浏览器均支持CSP): https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet