Заголовки безопасности онлайн

Пачка защиты сайта: HSTS принудит HTTPS, X-Frame-Options не даст встроить вас в чужой iframe, nosniff запретит угадывать тип файла.

Скопируйте строки в nginx (add_header … always;) или в middleware приложения после того, как HTTPS уже работает. HSTS на http:// оставьте выключенным. В <head> HTML эти заголовки не дублируют, кроме редкого meta — лучше именно HTTP.

Данные

На сколько секунд запомнить «только HTTPS». 31536000 — год. 0 — не добавлять HSTS.

Заявка в список preload браузеров. Включайте, только если все поддомены на HTTPS навсегда.

DENY — сайт нельзя в iframe. SAMEORIGIN — только ваши страницы. «Не добавлять» — если встраивание нужно снаружи.

Сколько URL текущей страницы уйдёт в Referer на чужой сайт. strict-origin-when-cross-origin — разумный дефолт.

Запрещает браузеру угадывать тип файла мимо Content-Type. Оставляйте включённым.

Явно выключает старый фильтр XSS в IE. Современная защита — CSP, не этот заголовок.

Как пользоваться

Оставьте HSTS 31536000. preload добавляйте только если сайт целиком на HTTPS, включая поддомены.

Как интерпретировать результат

HSTS после первого визита запретит http://. Ошибётесь с HTTPS — пользователи не зайдут, пока не истечёт max-age.

Частые вопросы

Зачем X-XSS-Protection 0?

Фильтр IE/старых Chrome ломал страницы. Современная защита — CSP.

SAMEORIGIN или DENY?

DENY — сайт нельзя в iframe даже с того же origin. Для встраивания своих страниц — SAMEORIGIN.

Permissions-Policy?

Камера, микрофон и геолокация закрыты. Расширьте список под продукт.

Это заменит CSP?

Нет. CSP — отдельный сервис, это только базовые заголовки.

Проверка?

securityheaders.com или браузер DevTools → Network.