check.uk.app

CSP Report-Only: практичне впровадження політики

Спостерігайте за порушеннями, перевіряйте важливі сценарії та застосовуйте лише перевірену політику.

Технічна команда check.uk.app · Перевірено 26 вересня 2026

Почніть із тестового середовища

Збережіть поточні заголовки й конфігурацію проксі. Складіть перелік джерел для входу, оплат, CAPTCHA, шрифтів та аналітики. Збережіть наявну примусову CSP: політика спостереження її не замінює й не послаблює. Підготуйте відкат до зміни заголовка.

Додайте пробну політику в Nginx

Розмістіть директиву у відповідному блоці server або location тестового сайту. Це суворий приклад для спостереження, а не готова політика продакшну. Вона дозволяє джерела свого origin, фіксує inline-скрипти й зовнішні джерела, але сама їх не блокує.

Параметр always охоплює відповіді з помилками. У Nginx 1.26.3 власна директива add_header у вкладеному location скасовує успадкування батьківських add_header. Збережіть інші заголовки безпеки й перевірте кожний маршрут. Не додавайте навмання другу копію заголовка, який уже повертає застосунок.

add_header Content-Security-Policy-Report-Only "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'" always;

Перегляньте відповідь і поведінку браузера

Перед перезавантаженням сервісу виконайте nginx -t для своєї інсталяції. У засобах розробника браузера переконайтеся, що відповідь містить Content-Security-Policy-Report-Only, і перегляньте Console під час роботи зі сторінкою. Приклад призначений для локального спостереження в браузері та не налаштовує серверний збір звітів.

Для збирання потрібні робоча HTTPS-адреса приймача, Reporting-Endpoints і report-to. Старіший report-uri має інший формат даних і сумісність. Установіть ліміти обсягу та строки зберігання: URL у звітах можуть містити дані користувачів. Не надсилайте звіти на адресу з прикладу.

Порівняйте поведінку на контрольному прикладі

Наш ізольований тест містить зовнішній скрипт зі свого origin та inline-скрипт. Із цим Report-Only обидва виконуються, а порушення inline-скрипту фіксується. Після примусового застосування тієї самої політики через Content-Security-Policy зовнішній скрипт працює, а inline блокується. Перевірте власні сторінки: цей приклад не сертифікує сторонні інтеграції.

Обґрунтовуйте кожне дозволене джерело. Для потрібного inline-коду використовуйте nonce, створені застосунком, або перевірені хеші замість широкого unsafe-inline. Nonce має бути непередбачуваним і новим для кожної відповіді; незмінне скопійоване значення не підходить.

Застосовуйте поступово й перевірте відкат

Після перевірки типових сценаріїв перенесіть політику в примусовий заголовок спочатку на тестовому середовищі. Повторно перевірте вхід, відновлення, оплату, вбудовування й помилки. Декілька примусових політик поєднують обмеження: новий заголовок не послаблює наявний. Якщо потрібні функції зламалися, відновіть збережену конфігурацію.

check.uk.app спостерігає за заголовками, але не виконує застосунок для перевірки повноти CSP. Середовище прикладу: Nginx 1.26.3 та Microsoft Edge на Chromium, 26 вересня 2026. CSP продакшну для цього прикладу не змінювалася.

Джерела

Перевірити сайтУсі інструкції

Ім’я для вашої наступної ідеї

Подаруйте сайту, домашньому серверу або новому проєкту зручну адресу: yourname.uk.app. Оберіть назву та перевірте її доступність перед реєстрацією.

Знайти свою назву

Партнери