Для разработчиков / Политика безопасности

Генератор CSP: создание и анализ политик безопасности контента

Создайте заголовок Content-Security-Policy со списками источников, плейсхолдерами nonce и hash, директивами отчётности и распространёнными пресетами. Просмотрите предупреждения и скопируйте результат для HTTP, meta, nginx, Apache или статического _headers.

Генератор CSP: создание и анализ политик безопасности контента: Инструмент локально создаёт политику и отмечает unsafe-inline, unsafe-eval, слишком широкие источники, повторяющиеся директивы и плейсхолдеры, которые нужно заменить перед развёртыванием. Парсер сохраняет неизвестные директивы и использует первое вхождение повторяющейся директивы. Инструмент анализирует одну политику за раз и не загружает защищаемую страницу. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию
Стенд политик безопасности содержимогоЛокальная обработка

Полностью работает в браузере

Предустановки заменяют текущую политику. Сначала протестируйте заголовок только для отчётов. Заполнитель nonce требует интеграции с сервером; статический заголовок не может создать новый nonce.

Токены источников скриптов

script-src · strict-dynamic требует действительный nonce или hash и переопределяет списки разрешённых хостов в поддерживающих браузерах.

script-src · Замените заполнители nonce и hash перед развёртыванием. Для каждого ответа создавайте новый непредсказуемый nonce.

Политики Meta не могут применять frame-ancestors или sandbox, использовать report-uri или передавать политику только для отчётов. Директивы отчётности здесь не указаны.

Это проверка синтаксиса и рисков, а не аудит безопасности. Неизвестные или некорректно сформированные выражения источников требуют проверки в браузере. Дополнительные политики применяются совместно и не могут ослабить предыдущую политику. Созданный файл _headers предназначен для статических ответов; для динамических ответов нужна отдельная настройка заголовков.

Синтаксис политики и доставка

Content Security Policy Level 3 от W3C: https://www.w3.org/TR/CSP3/ . Директивы разделяются точками с запятой, а значения — пробелами. Доставка через метатег предоставляет меньше возможностей, чем заголовок HTTP-ответа.

Nonce, хеши и развёртывание

Руководство MDN по Content Security Policy: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP . strict-dynamic передаёт доверие от скрипта, авторизованного nonce или хешем, скриптам, которые он загружает, и переопределяет списки разрешённых хостов в поддерживающих браузерах. Проверьте поведение доверенных скриптов и протестируйте итоговую политику.

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

  1. Выберите пресет или вставьте существующую политику.
  2. Включите директивы и измените значения, разделённые пробелами; просмотрите предупреждения.
  3. Выберите формат вывода, скопируйте его и проверьте с ресурсами вашего сайта.

Конфиденциальность и ограничения

Ваша политика остаётся в браузере. Обращений к сайтам не выполняется.

Похожие инструменты

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

Можно ли использовать плейсхолдер nonce как есть?

Нет. Для каждого ответа создавайте непредсказуемый nonce и указывайте соответствующее значение в доверенных скриптах. Фиксированный статический заголовок не может создать nonce. Замените плейсхолдеры hash фактическим hash нужного содержимого.

Чего не может политика в meta?

Она не может применять frame-ancestors или sandbox, использовать report-uri или передавать политику только для отчётности. Сгенерированный вывод meta не содержит директивы отчётности и должен находиться в начале head документа.

Создаёт ли report-to конечную точку для отчётов?

Нет. Эта директива указывает группу, для которой нужен отдельный заголовок ответа Reporting-Endpoints. report-uri — более старый вариант; поддержка браузерами различается. Этот инструмент не отправляет отчёты.

Гарантированно ли пресеты будут работать с моим сайтом?

Нет. Начните с передачи по HTTP в режиме только отчётности и проверьте ресурсы, необходимые вашему сайту. Существующие политики объединяются с новой; вторая политика не может ослабить более раннее ограничение. Передача через статический _headers не распространяется на динамически созданные ответы.

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен