ESC

Директивы CSP

Сгенерированный вывод

Настройте директивы для генерации CSP-заголовка...
Настройте директивы для генерации CSP-заголовка...
Настройте директивы для генерации CSP-заголовка...
Настройте директивы для генерации CSP-заголовка...
Вся обработка происходит в вашем браузере. Данные не отправляются на сервер.

Примеры использования

Базовая ограничительная политика

Простая политика, разрешающая ресурсы только с вашего домена, с инлайн-стилями и data URI для изображений.

CDN-совместимая политика

Политика, разрешающая загрузку скриптов и стилей с популярных CDN: jsDelivr, cdnjs и Google Fonts.

Строгая политика безопасности

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

Возможности

Визуальный конструктор

Создавайте CSP-заголовок визуально с помощью флажков и выпадающих списков, без ручного синтаксиса

Конфигурации серверов

Готовые сниппеты конфигурации для Nginx, Apache и мета-тегов

Валидация CSP

Проверка CSP на распространённые проблемы безопасности и нарушения лучших практик

Конфиденциальность

Вся обработка выполняется локально в вашем браузере, данные не отправляются на сервер

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

1

Выберите директивы

Включите нужные CSP-директивы и выберите источники для каждой с помощью флажков или пользовательских доменов.

2

Просмотрите вывод

Посмотрите сгенерированный CSP как HTTP-заголовок, мета-тег или сниппет серверной конфигурации. Проверьте на проблемы.

3

Скопируйте и разверните

Скопируйте сгенерированный CSP и добавьте его в конфигурацию веб-сервера или HTML-документ.

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

CSP — это HTTP-заголовок ответа, сообщающий браузеру, каким источникам контента можно доверять. Основная защита направлена против XSS (Cross-Site Scripting) атак: даже если злоумышленник внедрит вредоносный тег script, браузер откажется его выполнять, если источник не занесён в белый список. CSP также защищает от атак с внедрением данных, кликджекинга (с помощью frame-ancestors) и смешанного контента.

default-src — это резервная директива для любого типа ресурса, не имеющего собственной конкретной директивы. Всегда задавайте default-src как базовый уровень: это гарантирует, что забытые типы ресурсов получат ограничительное значение по умолчанию, а не останутся без ограничений. Явно заданные директивы (например, script-src) имеют приоритет над default-src для своего типа ресурсов.

unsafe-inline разрешает все встроенные скрипты и стили, что нейтрализует большую часть защиты CSP от XSS. Nonce безопаснее: сервер генерирует случайный nonce (например, nonce-abc123), добавляет его в CSP-заголовок и в каждый доверенный встроенный тег script. Браузер выполняет только встроенные скрипты с совпадающим nonce. Поскольку злоумышленник не может знать nonce (он меняется при каждом запросе), внедрённые скрипты не могут его использовать.

report-uri сообщает браузеру, куда отправлять JSON-отчёты при каждом нарушении CSP. Сервер получает POST-запрос с подробностями о заблокированном ресурсе, нарушенной директиве и URL страницы. Сначала используйте режим Content-Security-Policy-Report-Only, чтобы видеть нарушения без блокировки, а затем ужесточайте политику на основе отчётов.

Добавляйте в белый список точный origin, а не используйте wildcards. Вместо script-src * используйте script-src 'self' https://cdn.jsdelivr.net. Каждый добавленный origin — потенциальный вектор атаки, если этот CDN окажется скомпрометирован. Для Google Fonts нужны одновременно style-src https://fonts.googleapis.com и font-src https://fonts.gstatic.com.

Да, но с ограничениями. Мета-тег работает в HTML-блоке <head>, однако не поддерживает директивы frame-ancestors, report-uri и sandbox — они работают только как HTTP-заголовки. Кроме того, мета-тег защищает только ресурсы, загруженные после его разбора браузером, и ресурсы, объявленные до него, остаются незащищёнными. Для полной защиты настоятельно рекомендуются HTTP-заголовки.

Валидатор выявляет: отсутствие default-src (нет резервной директивы), использование unsafe-inline в script-src или style-src (ослабляет защиту от XSS), использование unsafe-eval (разрешает динамическое выполнение кода) и wildcard-(*)-origins (разрешает загрузку из любого источника). Это наиболее распространённые ошибки CSP, выявляемые при аудитах безопасности.

Нет. Всё работает в вашем браузере. Ничего не отправляется на сервер и нигде не сохраняется.

Что такое Content Security Policy?

Content Security Policy (CSP) — это HTTP-заголовок, который указывает браузеру, каким источникам контента доверять. Думайте о нём как о белом списке: если скрипт, стиль, изображение или шрифт не из одобренного источника — браузер его блокирует. Это ваша самая мощная защита от XSS-атак, потому что даже если злоумышленник внедрит вредоносный тег script на страницу, браузер не выполнит его, если источник не в белом списке.

Почему CSP-синтаксис сложно писать вручную

Реальный CSP-заголовок может легко занимать 500+ символов с десятками директив, каждая с несколькими источниками. Одна неверная точка с запятой ломает всё, и полезного сообщения об ошибке нет — браузер молча игнорирует неправильные части. Этот инструмент даёт визуальный интерфейс: флажки, выпадающие списки и поля для доменов, которые автоматически генерируют валидный CSP. Вы получаете вывод для HTTP-заголовков, мета-тегов, Nginx и Apache.

Самые распространённые ошибки CSP

Главная — использование unsafe-inline для скриптов, что фактически отключает защиту от XSS, ради которой CSP и существует. Вторая — использование подстановочного символа (*), который разрешает загрузку с любого домена. Третья — отсутствие default-src, из-за чего неуказанные типы ресурсов остаются без ограничений. В этом инструменте есть встроенный валидатор, который выявляет все эти проблемы до развёртывания.

С чего начать работу с CSP

Начните с политики report-only (Content-Security-Policy-Report-Only), чтобы увидеть, что сломается, не блокируя ничего на самом деле. Мониторьте отчёты, исправляйте нарушения, добавляя легитимные источники, затем переключитесь в режим принудительного выполнения. Инструмент поддерживает оба режима, а пресеты дают стартовые конфигурации для разных уровней безопасности.

Конфиденциальность

Ваша CSP-конфигурация не покидает браузер. Без серверных вызовов, без сохранения, без отслеживания. Инструмент полностью работает на JavaScript.

Безопасность и конфиденциальность

Безопасность ваших данных — наш приоритет

Локальная обработка

Вся обработка происходит в вашем браузере

Без передачи данных

Ваши данные не отправляются на наши серверы

Без хранения данных

Данные не хранятся и не передаются

SSL-шифрование

SSL-шифрование для безопасного соединения

Также на MoreOnlineTools