
Як правильно реалізувати Content Security Policy (CSP) для захисту сайту у 2025 році
Що таке Content Security Policy (CSP) і навіщо вона потрібна
Content Security Policy — це механізм безпеки, який дозволяє власнику сайту контролювати, які ресурси дозволено завантажувати на сторінку. CSP ефективно захищає від XSS-атак, скриптів з небезпечних джерел та маніпуляцій із контентом.
Які загрози вирішує CSP
- 🔐 Cross-site scripting (XSS)
- 📦 Завантаження підроблених скриптів з CDN
- 👁️ Витік даних через iframe, image beacon або script injection
- 🛑 Clickjacking (у поєднанні з іншим захистом)
Як працює CSP
CSP працює на рівні заголовків HTTP або HTML-мета-тегів. Власник сайту визначає політику, яка обмежує джерела ресурсів — наприклад, дозволити завантаження скриптів лише з домену yourdomain.com
.
Content-Security-Policy: default-src 'self'; script-src 'self' https://apis.google.com; img-src 'self' data:;
Основні директиви CSP
default-src
— джерела за замовчуваннямscript-src
— дозволені скриптиstyle-src
— дозволені стиліimg-src
— джерела зображеньfont-src
— шрифтиframe-src
— iframe, відео тощо
Найкращі практики для впровадження CSP у 2025 році
- Почніть із
Content-Security-Policy-Report-Only
щоб не зламати сайт при тестуванні - Використовуйте
'self'
та уникайте'unsafe-inline'
, якщо можливо - Додайте nonce або hash для скриптів, які не можна винести
- Використовуйте CSP разом з іншими заголовками (X-Frame-Options, X-Content-Type-Options)
Приклади політик
Сувора політика (початковий рівень):
Ми рекомендуємо:
Щоб заощадити час і отримати якісний результат, скористайтесь нашими перевіреними рішеннями:
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self';
Політика з Google Analytics та стилями з CDN:
Content-Security-Policy: default-src 'self'; script-src 'self' https://www.googletagmanager.com; style-src 'self' https://cdn.jsdelivr.net;
Підсумки
CSP — це потужний інструмент для підвищення безпеки вебсайту. У 2025 році загрози лише зростають, і правильна конфігурація CSP може врятувати від серйозних витоків або зламу. Впроваджуйте її поетапно, тестуйте і поступово посилюйте політику.