Для разработчиков / Политика безопасности
Генератор 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 или хешем, скриптам, которые он загружает, и переопределяет списки разрешённых хостов в поддерживающих браузерах. Проверьте поведение доверенных скриптов и протестируйте итоговую политику.
Как пользоваться
- Выберите пресет или вставьте существующую политику.
- Включите директивы и измените значения, разделённые пробелами; просмотрите предупреждения.
- Выберите формат вывода, скопируйте его и проверьте с ресурсами вашего сайта.
Конфиденциальность и ограничения
Ваша политика остаётся в браузере. Обращений к сайтам не выполняется.
Похожие инструменты
Часто задаваемые вопросы
Можно ли использовать плейсхолдер nonce как есть?
Нет. Для каждого ответа создавайте непредсказуемый nonce и указывайте соответствующее значение в доверенных скриптах. Фиксированный статический заголовок не может создать nonce. Замените плейсхолдеры hash фактическим hash нужного содержимого.
Чего не может политика в meta?
Она не может применять frame-ancestors или sandbox, использовать report-uri или передавать политику только для отчётности. Сгенерированный вывод meta не содержит директивы отчётности и должен находиться в начале head документа.
Создаёт ли report-to конечную точку для отчётов?
Нет. Эта директива указывает группу, для которой нужен отдельный заголовок ответа Reporting-Endpoints. report-uri — более старый вариант; поддержка браузерами различается. Этот инструмент не отправляет отчёты.
Гарантированно ли пресеты будут работать с моим сайтом?
Нет. Начните с передачи по HTTP в режиме только отчётности и проверьте ресурсы, необходимые вашему сайту. Существующие политики объединяются с новой; вторая политика не может ослабить более раннее ограничение. Передача через статический _headers не распространяется на динамически созданные ответы.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен