Перейти к содержанию
TextArray
100% локально

Генератор заголовков CSP

Создайте заголовок Content-Security-Policy из полей для каждой директивы, готовый к развертыванию.

Выходные данные

Генератор заголовков CSP

Заголовок Content-Security-Policy — это самая мощная защита от XSS, которую может развернуть веб-сайт, и один из заголовков, в которых легче всего ошибиться. Заполните необходимые директивы, оставьте остальное пустым, и политика соберется сама: default-src в качестве базовой линии, а script-src, style-src, img-src, Connect-src, Font-SRC и Frame-ancestors переопределят ее там, где вы так скажете. Пустые поля полностью опускаются, что является правильным CSP: отсутствующая директива возвращается к default-src вместо того, чтобы случайно разрешить все.

Генератор исправляет для вас классическую ошибку: ключевые слова CSP должны быть заключены в кавычки, а имя self без кавычек не означает «это происхождение» — оно означает хост, буквально названный self. Введите self, none или unsafe-inline bare, и они будут правильно заключены в кавычки; хосты и схемы, такие как https://cdn.example.com или данные: остаются такими, какие они есть.

Выходной формат соответствует тому, где будет действовать политика: необработанная строка заголовка для чтения и вставки, метатег HTML для статических сайтов без доступа к серверу или точные строки набора add_header и Header для конфигураций nginx и Apache. Переключатель update-insecure-requests добавляет директиву, которая прозрачно перезаписывает случайные подресурсы http:// в https.

Запустите строгое — только default-src «self» — разверните, откройте консоль браузера и добавьте источники по мере появления реальных нарушений; этот цикл приводит к более жесткой политике, чем предварительное предположение. Все работает локально в вашем браузере: ваша архитектура, выбор CDN и конечные точки API никогда не покидают ваше устройство.

FAQ

Почему слово «я» должно быть в кавычках?
Потому что CSP отличает ключевые слова от имен хостов кавычками. «self» в кавычках означает «собственное происхождение этой страницы»; self без кавычек означает, что сервер буквально назван self. Генератор автоматически цитирует вам известные ключевые слова.
Что произойдет, если я оставлю директиву пустой?
Он исключен из политики, и браузер возвращается к default-src для этого типа ресурса. Это и есть предполагаемый способ написания CSP — переопределять только там, где правила действительно различаются.
Должен ли я использовать метатег или заголовок?
Заголовок, когда бы вы ни управляли сервером — он охватывает каждый ответ и поддерживает все директивы. Метатег является запасным вариантом для статического хостинга без управления заголовком, но обратите внимание, что предки кадров и report-uri игнорируются в мета-CSP.
Как узнать, какие источники нужны моему сайту?
Разверните строгую политику (default-src «self»), откройте консоль инструментов разработчика браузера и используйте сайт. Каждый заблокированный ресурс регистрирует нарушение с указанием директивы и URL-адреса — добавляйте эти источники сознательно, один за другим. Рассмотрите Content-Security-Policy-Report-Only, чтобы попробовать политику, ничего не нарушив.
Загружено ли где-нибудь что-нибудь, что я печатаю?
Нет. Политика полностью собрана в вашем браузере — ваши домены и конечные точки никогда не покидают ваше устройство.