Вебсправочник
Ваш первый сайт

Урок: прочитать причину блокировки ресурса политикой CSP

Сообщение CSP в консоли означает, что браузер ограничил действие по политике документа. В этом уроке вы найдёте нарушенную директиву и источник политики, не отключая защиту целиком.

Назначение

Сообщение CSP в консоли означает, что браузер ограничил действие по политике документа. В этом уроке вы найдёте нарушенную директиву и источник политики, не отключая защиту целиком.

Как это работает

Работайте на отдельной тестовой странице. Пример ниже — заголовок ответа, разрешающий ресурсы своего origin и ограничивающий базовый URL и встраивание. Он не является командой для изменения конфигурации действующего сайта.

Пример

Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; base-uri 'none'; frame-ancestors 'none'

Что должно получиться

При попытке выполнить запрещённый встроенный скрипт браузер сообщит о нарушении script-src. В Network можно проверить фактически полученную политику. Report-Only фиксирует нарушения, но сам по себе не блокирует их.

Граница применения и частая ошибка

Не добавляйте unsafe-inline или * в ответ на любое предупреждение без анализа. Несколько действующих политик применяются совместно и могут усиливать ограничения. Frame-ancestors нельзя считать рабочим только из-за записи в meta: для него нужен заголовок ответа.

Самостоятельная проверка

В учебном проекте сравните разрешённый внешний файл своего origin и запрещённый inline-код. Запишите директиву, URL и строку ошибки. Затем исправьте конкретное подключение и повторите проверку вместо глобального ослабления политики.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.