Анализ выполняется в вашем браузере. Загрузка по URL — запрос страницы с нашего сервера.
CSP-анализатор
Разбор Content-Security-Policy с оценкой: небезопасные директивы, недостающие защиты, устаревший синтаксис.
загрузка означает запрос страницы с нашего сервера и чтение её заголовка CSP
вставьте значение заголовка или полную строку Content-Security-Policy:
Как читать Content-Security-Policy
Вставьте политику — или загрузите её по URL — и каждая директива будет разобрана и оценена так, как её интерпретируют браузеры. Находки покрывают классические дыры: unsafe-inline, unsafe-eval, wildcard, data: в источниках скриптов и просто отсутствующие защитные директивы.
Анализ выполняется в вашем браузере; только режим загрузки по URL просит наш сервер открыть страницу и прочитать её заголовок.
У меня есть nonce и unsafe-inline. Это поломка?
Нет. При наличии nonce или хеша современные браузеры полностью игнорируют unsafe-inline — он оставлен только ради очень старых. Инструмент помечает его как legacy-фолбэк, а не как дыру, чем он и является.
С чего начинать политику?
Отдавайте Content-Security-Policy-Report-Only с default-src 'self' и собирайте нарушения. Чините или подписывайте nonce то, что всплывает, дождитесь тишины в отчётах и переносите ту же политику в применяющий заголовок. Строгая политика сразу в enforcement — это способ сломать сайт в три часа ночи.
Почему предупреждение об отсутствии base-uri?
Потому что внедрённый тег <base> переписывает все относительные URL на странице, включая источники скриптов, превращая небольшую HTML-инъекцию в выполнение кода. base-uri 'none' ничего не стоит и закрывает это.
Сливаются ли дублирующиеся директивы?
Нет — браузеры учитывают первое вхождение и игнорируют остальные. Политика, собранная конкатенацией строк, часто получает две директивы script-src, где вторая, более строгая, не делает вообще ничего.
Смежные инструменты: Security-заголовки, HTTP-заголовки и Аудит SSL / TLS.