Как правильно установить параметры X-Frame-Allow-From в nginx
Я пытаюсь установить ALLOWED-FROM в Nginx, но все настройки, которые я пытался до сих пор, приводили к следующей ошибке 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://
)
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;
Ответы
Ответ 1
в Chrome и Safari вам нужно использовать Content-Security-Policy
Content-Security-Policy: frame-ancestors domain.com
Вы можете проверить более подробную информацию на этом сайте:
https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives
Ответ 2
Некоторые старые браузеры не поддерживают Content Security Policy, поэтому правильный синтаксис
add_header X-Frame-Options ALLOW-FROM domain.com;
и новая версия браузеров поддерживает политику безопасности контента
add_header Content-Security-Policy "frame-ancestors domain.com";
Вы должны использовать оба заголовка, чтобы обеспечить поддержку во всех браузерах
Чтобы узнать больше о поддержке браузером X-Frame-Options и Политики безопасности контента (данные поддержки браузера CSP устарели, как написано 19.12.2017. В настоящее время все основные браузеры поддерживают CSP): https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet