Надёжная конфигурация заголовков безопасности — один из самых простых и эффективных способов защитить сайт от распространённых атак. Многие угрозы, такие как XSS, кликджекинг, утечка приватных данных или выполнение вредоносного кода, можно минимизировать всего несколькими строками в .htaccess.
Ниже приведён оптимальный комплект заголовков, который подойдет большинству веб-проектов.
| Код |
|---|
<IfModule mod_headers.c> Header set Referrer-Policy "strict-origin-when-cross-origin" Header set X-Content-Type-Options "nosniff" Header set X-Frame-Options "SAMEORIGIN" Header set X-XSS-Protection "1; mode=block" Header set Permissions-Policy "camera=(), microphone=(), geolocation=()" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" Header set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'" </IfModule> |
X-Content-Type-Options — запрещает браузеру определять тип содержимого «наугад», предотвращая выполнение вредоносного кода.
X-Frame-Options — блокирует загрузку сайта в iframe сторонних ресурсов, защищая от кликджекинга.
X-XSS-Protection — активирует встроенные механизмы защиты браузеров от XSS-атак.
Permissions-Policy — регулирует доступ к функциям устройства и API браузера (камера, микрофон, геолокация и т. д.).
Strict-Transport-Security (HSTS) — заставляет браузер использовать только HTTPS, предотвращая атаки перехвата трафика.
Content-Security-Policy (CSP) — разрешает выполнение ресурсов только из доверенных источников, тем самым значительно снижая риск внедрения вредоносного кода.