Перейти к основному содержанию

Оценитель ресурсов CSP — Проверьте URL для заголовка CSP

Вставьте значение заголовка Content-Security-Policy и проверьте, будет ли определенный URL ресурса или блок встроенного скрипта/стиля разрешен или заблокирован, с соответствующим выражением источника и отчетом об уязвимостях.

Ввод

Значение заголовка Content-Security-Policy (или Content-Security-Policy-Report-Only) для оценки.

Источник, с которого передается эта CSP — необходим для разрешения 'self' и источников хостов без схемы. Оставьте пустым, если вы не тестируете такие источники.

Вывод

Объяснение

Уязвимости CSP, найденные в этом заголовке

Уязвимости
DirectiveIssueSeverity
No data yet
Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/csp-resource-evaluator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cspHeader": "default-src 'self'; script-src 'self' https://cd…",
    "pageOrigin": "",
    "checkType": "url",
    "resourceKind": "script",
    "resourceUrl": "https://cdn.example.com/app.js",
    "inlineContent": ""
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `csp-resource-evaluator` tool (CSP Resource Evaluator) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/csp-resource-evaluator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Оценитель ресурсов CSP — Проверьте URL для заголовка CSP — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Что делает этот инструмент

У вас уже есть заголовок Content-Security-Policy — возможно, из конфигурации сервера, возможно, извлеченный из заголовков ответа активного сайта — и вам нужно знать одно конкретное: будет ли этот ресурс действительно загружен под ним? Синтаксис Content-Security-Policy упаковывает много нюансов в одно значение заголовка: хосты с подстановочными знаками, источники схем, цепочка fallback default-src и директивы вроде frame-ancestors и base-uri, которые намеренно не наследуют от default-src вообще. Читать политику на глаз и угадывать, соответствует ли https://cdn.example.com/app.js строке script-src 'self' *.example.com:*, — это именно то, что легко сделать неправильно в тонких деталях — одно пропущенное правило подстановочного знака и скрипт, который вы ожидали загрузить молча, блокируется в production, или еще хуже, тот, который вы ожидали блокировать молча, не блокируется.

Вставьте значение заголовка, выберите то, что вы тестируете — URL внешнего ресурса или блок встроенного содержимого <script>/<style> — и этот инструмент выполняет реальный алгоритм сопоставления источников CSP Level 3 для него: какая директива была проверена (включая любой fallback default-src), какое точное выражение источника совпадало (или почему ни одно не совпадало), и — для встроенного содержимого — хеш-источник sha256-, который разрешит это точное содержимое буквально. Он также выделяет распространенные уязвимости в самом заголовке ('unsafe-inline', 'unsafe-eval', голые хосты *, отсутствующие object-src/base-uri/frame-ancestors) в отдельной таблице.

Как использовать

  1. Вставьте значение заголовка Content-Security-Policy (или Content-Security-Policy-Report-Only).
  2. Опционально заполните Источник страницы — источник, с которого передается эта политика (например, https://example.com) — необходим для разрешения 'self' и любого источника хоста без схемы к реальному источнику. Оставьте пустым, если вы тестируете только источники, которые от этого не зависят.
  3. Выберите то, что проверять: URL внешнего ресурса (выберите его тип ресурса — скрипт, таблица стилей, изображение, шрифт, fetch/XHR, frame и так далее) или блок встроенного скрипта/стиля.
  4. Прочитайте вердикт, директиву, которая была реально проверена, и какое выражение источника совпадало (или почему ничего не совпадало).

Часто задаваемые вопросы

Почему он говорит "Требуется источник страницы" вместо "Разрешено" или "Заблокировано"?

Политика включает 'self', но не был введен Источник страницы, поэтому нечего сравнивать с источником ресурса. Заполните источник, с которого передается CSP, и проверьте еще раз.

Почему он говорит "Требуется сопоставление nonce" для моего встроенного скрипта?

Политика разрешает источник nonce-*, но nonce — это одноразовое значение, генерируемое при загрузке страницы — этот инструмент не может знать, что активная страница на самом деле отображает в атрибут nonce="…". Это настоящий "может быть", не ошибка: добавьте соответствующий nonce к тегу и он загрузится.

Видит ли этот инструмент мой реальный сайт или отправляет мою CSP куда-либо?

Нет — анализ и сопоставление выполняются полностью в вашем браузере. Ничего из того, что вы вставляете здесь, не отправляется на сервер.

Мне просто нужно построить CSP, а не тестировать его

Используйте Генератор CSP для составления политики из структурированных полей директив. Чтобы получить полную оценку по всем заголовкам безопасности, которые должны содержать ответ (не только CSP), см. Проверка заголовков безопасности.

content security policyxss protectionnoncesha256 hashscript-srcunsafe-inlinecsp headerweb security

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.