X-XSS-Protection

Заголовок ответа HTTP X-XSS-Protection это особенность Internet Explorer, Chrome и Safari, которая останавливает загрузку страниц при обнаружении (XSS) атаки. Хотя эти меры защиты не требуются в большинстве случаев для современных браузеров, когда сайты внедряют сильную политику безопасности контента Content-Security-Policy, которая отключает использование встроенного JavaScript ('unsafe-inline'), они могут обеспечить защиту для пользователей, использующих устаревшие версии браузеров, не поддерживающих CSP.

Тип заголовка Response header

Запрещённое имя заголовка

Forbidden header name

no

Синтаксис

X-XSS-Protection: 0
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=<reporting-uri>
0

Отключает фильтрацию XSS.

1

Включает фильтрацию XSS (по умолчанию в браузерах). Если будет замечена попытка межсайтового скриптинга(XSS), браузер удалит небезопасное содержимое.

1; mode=block

Включает фильтрацию XSS. Вместо того, чтобы очищать содержимое страницы, браузер предотвратит отображение страницы, если заметит атаку.

1; report=<reporting-URI> (Chromium only)

Включает фильтрацию XSS. При обнаружении атаки межсайтового скриптинга, браузер очистит страницу от небезопасного содержимого и сообщит о нарушении. Для отправки отчёта используется функциональные возможности директивы CSP report-uri.

Пример

Блокировка загрузки страницы, при обнаружении отражённой (непостоянной) XSS:

bash
X-XSS-Protection: 1; mode=block

PHP

php
header("X-XSS-Protection: 1; mode=block");

Apache (.htaccess)

bash
<IfModule mod_headers.c>
  Header set X-XSS-Protection "1; mode=block"
</IfModule>

Спецификации

Не является частью каких-либо специфика или черновиков.

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также