Генератор заголовка Content-Security-Policy
Собирайте заголовок Content-Security-Policy директива за директивой, с чипами источников и готовыми к копированию фрагментами meta, nginx и Apache. Всё работает в вашем браузере.
Генератор CSP работает целиком в вашем браузере. Директивы, хосты и схемы, которые вы вводите для сборки вашей Content-Security-Policy, никогда не покидают ваше устройство и не загружаются в ArrayKit.
Открыть генератор заголовка Cache-Control
Об инструменте Генератор CSP
Генератор CSP собирает заголовок Content-Security-Policy по одной директиве за раз. Заполните default-src, script-src, style-src, img-src, connect-src, font-src, frame-src и другие, кликая по чипам источников вроде 'self', 'none', 'unsafe-inline', data: и https:, или вводя пользовательские хосты такие как cdn.example.com. Источники-ключевые слова берутся в одинарные кавычки за вас, а хосты и схемы остаются без них, так что политика всегда корректна. Пустые директивы отбрасываются автоматически, и всё выводится в каноническом порядке. Переключите тумблер report-only, чтобы протестировать политику в режиме мониторинга перед тем, как применять её, затем скопируйте сырой заголовок, HTML мета-тег или готовые к вставке фрагменты nginx и Apache. Создан для разработчиков, укрепляющих сайт против XSS и кликджекинга, прямо в браузере — собранная политика никогда не покидает ваше устройство.
Возможности
- Редактор по директивам для default-src, script-src, style-src, img-src, connect-src, font-src, frame-src и других
- Чипы источников в один клик: 'self', 'none', 'unsafe-inline', 'unsafe-eval', data:, https:, blob: и *
- Добавляйте пользовательские хосты и схемы; ключевые слова берутся в одинарные кавычки, а хосты остаются без них
- Переключатель report-only выдаёт Content-Security-Policy-Report-Only для теста без блокировки
- Директивы упорядочены канонически, а пустые директивы отбрасываются автоматически
- Скопируйте сырой заголовок, HTML тег meta http-equiv или фрагменты add_header nginx и Apache
- Дублирующиеся источники внутри директивы удаляются по мере сборки
- Работает целиком в вашем браузере — собранная политика никогда не загружается
Как использовать Генератор CSP
- Кликайте по чипам источников или вводите хост, чтобы добавить источники в каждую нужную директиву
- Оставьте ненужные директивы пустыми — они отбрасываются из вывода
- Переключите Report-Only, если хотите мониторить нарушения перед применением
- Скопируйте значение заголовка Content-Security-Policy или фрагмент meta, nginx или Apache
Пример
Ввод
default-src: 'self'
script-src: 'self' https:
img-src: 'self' data:
object-src: 'none'
Результат
Content-Security-Policy: default-src 'self'; script-src 'self' https:; img-src 'self' data:; object-src 'none'
Ключевые слова вроде 'self' берутся в кавычки; схемы такие как https: и data: остаются без них.
Частые ошибки и устранение неполадок
- Браузер сообщает об ошибках 'Refused to load' после добавления политики. — Отсутствует источник для этого типа ресурса. Добавьте хост или схему в соответствующую директиву (или в default-src как запасной вариант) и пересоберите заголовок.
- Встроенные скрипты или стили перестают работать, когда политика активна. — CSP блокирует встроенный код, если вы его не разрешите. Добавьте 'unsafe-inline' в script-src или style-src, а лучше перейдите на источник в виде nonce или хеша.
- Версия в мета-теге игнорируется, а заголовок ответа работает. — Некоторые директивы такие как frame-ancestors, report-uri и sandbox работают только как настоящий HTTP-заголовок, а не в теге <meta>. Предпочитайте для них фрагмент заголовка.
- Режим Report-Only блокирует запросы вместо простого их логирования. — Проверьте имя заголовка. Применение использует Content-Security-Policy; мониторинг использует Content-Security-Policy-Report-Only. Переключатель меняет имя за вас.
Часто задаваемые вопросы
- Что производит этот генератор CSP?
- Он собирает полное значение заголовка Content-Security-Policy из выбранных вами директив и источников, затем даёт вам сырой заголовок, HTML мета-тег и фрагменты add_header nginx и Apache, которые вы можете вставить в свою конфигурацию.
- Какие источники CSP берутся в одинарные кавычки, а какие нет?
- Источники-ключевые слова вроде 'self', 'none', 'unsafe-inline', 'unsafe-eval' и 'strict-dynamic', плюс nonce и хеши, берутся в одинарные кавычки. Хосты и схемы такие как https:, data: и cdn.example.com остаются без них. Инструмент заключает их в кавычки правильно за вас.
- Для чего нужен переключатель report-only?
- Он переключает имя заголовка на Content-Security-Policy-Report-Only, который сообщает о нарушениях, ничего не блокируя. Используйте его, чтобы обкатать новую политику на живом сайте и наблюдать за консолью перед тем, как применять её.
- Можно ли доставить всю политику как мета-тег CSP?
- В основном да — инструмент выдаёт тег <meta http-equiv> для применяющей политики. Но frame-ancestors, report-uri, report-to и sandbox игнорируются в мета-теге, поэтому используйте фрагмент HTTP-заголовка, когда ваша политика опирается на них.
- Почему заголовок опускает директивы, которые я не заполнил?
- Директивы без источников отбрасываются, чтобы вывод оставался чистым и корректным. default-src действует как запасной вариант для любой директивы выборки, которую вы оставили пустой, так что вам нужно переопределять только те, что отличаются.
- Отправляет ли сборка заголовка CSP мои хосты куда-либо?
- Нет. Генератор CSP работает целиком в вашем браузере. Директивы и хосты, которые вы вводите, остаются на вашем устройстве и никогда не загружаются в ArrayKit.
Связанные инструменты
Все инструменты ArrayKit