SEO » Блог про SEO » HTTP Заголовки Безпеки: як захистити сайт?
📂 Блог про SEO

HTTP Заголовки Безпеки: як захистити сайт?


HTTP-заголовки безпеки — це спеціальні інструкції, які веб-сервер надсилає браузеру разом з відповіддю, щоб посилити захист сайту. Вони дозволяють контролювати поведінку браузера, запобігати поширеним атакам (таким як XSS, клікджекінг, MIME-sniffing) та обмежувати доступ до конфіденційних функцій пристрою користувача. Правильне налаштування заголовків, таких як Referrer-Policy, Permissions-Policy, Strict-Transport-Security, X-Frame-Options та X-Content-Type-Options, є одним з найпростіших і найефективніших способів суттєво підвищити рівень безпеки веб-проекту без значних змін у коді.

Повний гайд з прикладами налаштування для .htaccess та PHP

Referrer-Policy

Цей заголовок керує тим, яка інформація про попередню сторінку (адреса URL) передається іншому сайту, коли користувач переходить за посиланням.

Навіщо це потрібно? Коли користувач клікає на посилання, браузер зазвичай надсилає заголовок Referer, який може містити конфіденційні дані (токени, ID сесій тощо).

Популярні значення:

  • 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 "Заголовки безпеки встановлено успішно!";
?>

Як перевірити заголовки?

  1. Відкрийте сайт у браузері
  2. Натисніть F12 → вкладка Network
  3. Оновіть сторінку
  4. Оберіть перший запит (ваш домен) → вкладка Headers → Response Headers
Рекомендація: Перевірте свій сайт на securityheaders.com — сервіс поставить оцінку та підкаже, чого не вистачає.

request Налаштування HTTP заголовків безпеки — це один з найпростіших і найефективніших способів значно підвищити захист вашого сайту. Рекомендується застосовувати ці заголовки на всіх проектах.Посібник з HTTP Security Headers © 2026

  • Автор: admin
  • Переглядів: 0

🤔 Додати коментар:


Натисніть на зображення, щоб оновити код, якщо він нерозбірливий