HTTP Заголовки Безпеки: як захистити сайт?
HTTP-заголовки безпеки — це спеціальні інструкції, які веб-сервер надсилає браузеру разом з відповіддю, щоб посилити захист сайту. Вони дозволяють контролювати поведінку браузера, запобігати поширеним атакам (таким як XSS, клікджекінг, MIME-sniffing) та обмежувати доступ до конфіденційних функцій пристрою користувача. Правильне налаштування заголовків, таких як Referrer-Policy, Permissions-Policy, Strict-Transport-Security, X-Frame-Options та X-Content-Type-Options, є одним з найпростіших і найефективніших способів суттєво підвищити рівень безпеки веб-проекту без значних змін у коді.
Повний гайд з прикладами налаштування для .htaccess та PHP
Referrer-Policy
Цей заголовок керує тим, яка інформація про попередню сторінку (адреса URL) передається іншому сайту, коли користувач переходить за посиланням.
Популярні значення:
- no-referrer — ніколи не надсилати referrer
- strict-origin-when-cross-origin (рекомендовано) — на зовнішні сайти передається тільки домен, на своєму сайті — повний URL
Permissions-Policy (Feature-Policy)
Потужний інструмент контролю над браузерними API (камера, мікрофон, геолокація тощо). Навіть якщо хакер вставив скрипт, він не зможе отримати доступ до заборонених функцій.
Синтаксис:
Permissions-Policy: camera=(), microphone=(), geolocation=(self 'https://www.google.com')
Інші важливі заголовки безпеки
Strict-Transport-Security (HSTS)
Змушує браузер завжди використовувати HTTPS. Рекомендоване значення:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Frame-Options
Захист від клікджекінгу. Рекомендовано:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Захист від MIME-sniffing:
X-Content-Type-Options: nosniff
Налаштування через .htaccess (Apache2.4)
<IfModule mod_headers.c>
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "camera=(), microphone=(), geolocation=(self 'https://www.google.com'), fullscreen=(self)"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
</IfModule>
Налаштування через PHP
<?php
// Налаштування заголовків безпеки
header("Referrer-Policy: strict-origin-when-cross-origin");
header("Permissions-Policy: camera=(), microphone=(), geolocation=(self)");
header("Strict-Transport-Security: max-age=31536000; includeSubDomains");
header("X-Frame-Options: SAMEORIGIN");
header("X-Content-Type-Options: nosniff");
echo "Заголовки безпеки встановлено успішно!";
?>
Як перевірити заголовки?
- Відкрийте сайт у браузері
- Натисніть F12 → вкладка Network
- Оновіть сторінку
- Оберіть перший запит (ваш домен) → вкладка Headers → Response Headers
Налаштування HTTP заголовків безпеки — це один з найпростіших і найефективніших способів значно підвищити захист вашого сайту. Рекомендується застосовувати ці заголовки на всіх проектах.Посібник з HTTP Security Headers © 2026
- Автор: admin
- Переглядів: 0



