HTTP-заголовки — это первая линия обороны. Настраиваются через .htaccess, работают на всех сайтах.
1. Strict-Transport-Security (HSTS)
Заставляет браузер работать только по HTTPS. Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
2. X-Frame-Options
Защита от кликджекинга. Header always set X-Frame-Options "SAMEORIGIN"
3. X-Content-Type-Options
Запрет MIME-sniffing. Header always set X-Content-Type-Options "nosniff"
4. Referrer-Policy
Что передавать в Referer. Header always set Referrer-Policy "strict-origin-when-cross-origin"
5. Permissions-Policy
Отключение камеры, микрофона, геолокации. Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Что ещё
CSP — Content-Security-Policy — защита от XSS. Но осторожно: ломает Google Fonts, Яндекс.Карты, TinyMCE. Настраивается индивидуально.
Итог: 5 заголовков = 5 минут. Проверьте на securityheaders.com — там оценка A+ достижима без особых усилий.