X-Frame-Options: DENY — включено в конфиге Nginx для защиты от кликджекинга.
## X-Frame-Options: DENY в Nginx — защита от кликджекинга
Заголовок HTTP `X-Frame-Options` является одним из ключевых инструментов защиты веб-приложений от атак типа **кликджекинг (clickjacking)**. Кликджекинг — это техника, при которой злоумышленник встраивает ваш сайт в скрытый « на своей странице и обманом заставляет пользователя нажимать на элементы, не подозревая об этом.
### Что означает значение DENY
Значение `DENY` полностью запрещает отображение страницы в любом фрейме («, «, `
Другие допустимые значения:
— `SAMEORIGIN` — разрешает встраивание только с того же домена.
— `ALLOW-FROM uri` — устаревшее значение, разрешавшее конкретный URI (больше не поддерживается большинством браузеров).
### Как добавить заголовок в конфиг Nginx
Откройте файл конфигурации вашего сервера (например, `/etc/nginx/sites-available/your-site.conf`) и добавьте директиву в блок `server` или `location`:
nginx
server {
listen 80;
server_name example.com;
add_header X-Frame-Options «DENY» always;
location / {
# ваши настройки
}
}
Параметр `always` гарантирует, что заголовок будет добавлен ко всем ответам, включая ответы с кодами ошибок (4xx, 5xx).
### Проверка настройки
После перезапуска Nginx (`sudo nginx -s reload`) проверьте наличие заголовка командой:
bash
curl -I https://example.com
В выводе должна присутствовать строка:
X-Frame-Options: DENY
Также можно воспользоваться инструментами разработчика браузера (вкладка Network → Headers) или онлайн-сервисами проверки HTTP-заголовков.
### Современная альтернатива
В современных приложениях рекомендуется использовать заголовок **Content-Security-Policy** с директивой `frame-ancestors`:
nginx
add_header Content-Security-Policy «frame-ancestors ‘none'» always;
Это эквивалент `DENY`, но более гибкий и актуальный стандарт. Тем не менее `X-Frame-Options: DENY` по-прежнему широко поддерживается и рекомендуется как дополнительный слой защиты для обратной совместимости со старыми браузерами.
### Итог
Добавление `X-Frame-Options: DENY` в конфиг Nginx — простая и эффективная мера безопасности, которая занимает одну строку, но существенно снижает риск кликджекинг-атак на ваш ресурс.
