Omnikit
РазработкаФайлыФинансыВсе инструменты
Ctrl K
Инструменты для разработкиИнструменты для файловФинансовые калькуляторыВсе инструменты
ГлавнаяИнструменты для разработчиковПроверка CSP
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Проверка CSP

разработка

Проверьте Content-Security-Policy директиву за директивой и узнайте, как скрипты её обходят

Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..

Content-Security-Policy сообщает браузеру, откуда можно загружать скрипты и другое содержимое. Она защищает от внедрённых скриптов, только если script-src обходится без 'unsafe-inline', подстановочных знаков и обходимых хостов, object-src равен 'none', а base-uri ограничен. Исследование Google 2016 года показало, что 94.7% реальных политик можно было обойти; nonce вместе с 'strict-dynamic' решают эту проблему.

Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал

Дальше:
  • Security Headers Generator Choose HSTS, CSP, framing and more, then copy the nginx, Apache or Vercel config
  • SRI Hash Generator Make the integrity hash and script or link tag for a CDN file, or check one

Как проверить Content-Security-Policy

1

Вставьте политику, всю строку заголовка Content-Security-Policy или тег <meta>, в котором она задана.

2

Прочитайте замечания, начиная с самых серьёзных: каждое называет директиву и то, что злоумышленник мог бы с ней сделать.

3

Проверьте в таблице директив имена с опечатками и источники, которые браузер проигнорирует.

4

Исправьте политику или начните со строгого шаблона и вставьте её снова, пока не останутся только примечания.

О проверке CSP

В Content-Security-Policy легко допустить незаметную ошибку, а браузеры никогда не жалуются: директива, которую они не могут прочитать, просто игнорируется. Этот инструмент читает политику ровно так, как по спецификации CSP Level 3 это делает браузер, а затем оценивает её по выводам исследования реальных политик, проведённого Google в 2016 году.

Замечания, начиная с самых серьёзных.

Уровень Примеры
Высокий 'unsafe-inline' без nonce, * или https: в script-src, object-src не 'none', 'strict-dynamic' без nonce, пропущенная точка с запятой, self без кавычек
Средний 'unsafe-eval', разрешённые хосты, известные раздачей JSONP или старого AngularJS, открытый base-uri, источники по обычному http, неизвестные директивы
Низкий нет frame-ancestors, короткие nonce, устаревшие директивы, дубликаты, 'unsafe-inline' для стилей
Примечание нет отчётов, report-uri без report-to, источники, которые браузеры игнорируют при строгой политике

Учитывается резервная директива. Если script-src отсутствует, вместо неё оценивается default-src; если нет обеих, скрипты можно загружать откуда угодно, и инструмент об этом сообщает.

Вставляйте что угодно. Саму политику, всю строку заголовка или тег <meta http-equiv>. Политики, заданные в теге meta, не могут использовать frame-ancestors, report-uri и sandbox, и инструмент это отмечает. Заголовок с несколькими политиками через запятую разбивается на части, поскольку применяется каждая из них.

Проверяется каждый источник. Ключевые слова, nonce, хеши (с правильной длиной для SHA-256, 384 или 512), схемы и хосты проверяются по грамматике, а для директивы с опечаткой предлагается исправление, например frame-ancestor на frame-ancestors.

Строгий шаблон. Одно нажатие загружает политику на основе nonce: script-src с nonce и 'strict-dynamic', object-src 'none' и base-uri 'none'. Ваш сервер должен в каждом ответе записывать новый случайный nonce в заголовок и в каждый тег script.

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

Частые вопросы

Безопасен ли 'unsafe-inline' в script-src?

Нет. С 'unsafe-inline' выполняется любой скрипт, который злоумышленнику удастся внедрить в страницу, а именно это Content-Security-Policy и должна предотвращать. Вместо этого используйте nonce или хеш для каждого встроенного скрипта. Когда присутствует nonce или хеш, современные браузеры игнорируют 'unsafe-inline', поэтому оставить его как запасной вариант для старых браузеров безвредно.

Что делает 'strict-dynamic' в CSP?

Ключевое слово 'strict-dynamic' позволяет скрипту, которому доверяют благодаря nonce или хешу, загружать другие скрипты, а списки разрешённых хостов и https: браузеры с его поддержкой игнорируют. Вместе с nonce это даёт политику, которая одновременно строгая и простая во внедрении. Без какого-либо nonce или хеша она блокирует все скрипты.

Почему object-src должен быть 'none'?

Плагины, загружаемые тегами object или embed, могут выполнять скрипты вне правил script-src, а старые файлы Flash на разрешённых хостах были распространённым способом обхода. Плагины сейчас нужны немногим сайтам, поэтому object-src 'none' закрывает весь этот путь. Если object-src отсутствует, действует default-src, который часто не равен 'none'.

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

Популярные хосты скриптов, такие как крупные CDN и некоторые домены Google, отдают JSONP-эндпоинты или старые версии AngularJS. Злоумышленник, способный внедрить разметку, может загрузить эти разрешённые файлы, чтобы выполнить свой код. Исследование Google 2016 года показало, что 94.7% реальных политик на основе списков хостов можно было обойти таким способом; nonce вместе с 'strict-dynamic' позволяют избежать проблемы.

Что происходит, если в директиве CSP опечатка?

Браузер игнорирует директиву и выводит предупреждение в консоль, но остальная политика продолжает действовать, так что страница незаметно теряет эту защиту. Опечатка вроде frame-ancestor вместо frame-ancestors оставляет страницу открытой для кликджекинга. Этот инструмент перечисляет неизвестные директивы и предлагает имя, которое вы, вероятно, имели в виду.

Можно ли задать Content-Security-Policy в теге meta?

Да, с помощью тега meta http-equiv в head страницы, но три директивы там не работают: frame-ancestors, report-uri и sandbox. Кроме того, политики в теге meta применяются только к содержимому после тега. Отправка политики в HTTP-заголовке ответа — надёжный вариант; тег meta подходит для статического хостинга без управления заголовками.

Источники

  • W3C, Content Security Policy Level 3Parsing, directives, source expressions, fallback and meta-tag limits
  • Weichselbaum et al., CSP Is Dead, Long Live CSP! (ACM CCS 2016, Google Research)Why allowlists are bypassable, and the strict nonce policy
  • MDN Web Docs, Content-Security-PolicyObsolete directives and browser support

Последняя проверка: 16 октября 2026 г..

Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.

Всё ещё не получается? Задайте вопрос об инструменте «Проверка CSP» и ответить может любой, кто знает. Учётная запись не нужна.

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

Все инструменты для разработчиков
Декодер, проверка и кодировщик JWTДекодируйте любой JWT, проверьте подпись и подпишите новые токены — всё в вашем браузереГенератор паролейНадёжные случайные пароли и запоминающиеся парольные фразы, созданные на вашем устройствеПроверка надёжности пароляСколько ваш пароль продержится при атаке и что именно делает его слабымГенератор HMACHMAC-SHA1, SHA-256, SHA-384 и SHA-512 для текста или файла, а также проверка подписейХеш bcrypt и проверкаХешируйте пароль с помощью bcrypt со стоимостью от 4 до 14 или проверьте пароль по хешуTOTP Generator and TesterLive authenticator codes from a secret, a QR code for your app, and a code testerCertificate DecoderRead an SSL certificate, CSR or public key: names, dates, key size and fingerprintsIMEI CheckerCheck an IMEI number’s check digit, see its TAC and serial, and look up the phone model
Был ли этот инструмент полезен?
Omnikit

Небольшие задачи прямо в вашем браузере. Бесплатно, быстро и конфиденциально. Файлы никогда не загружаются на сервер.

Файлы

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Разработка

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Финансы

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
РуководстваВопросыО сайтеКак мы проверяемБиблиотека законов (бета)КонфиденциальностьУсловияРаскрытие информацииКонтактыMore: Exam practice (UGC NET Paper 1)Работает в вашем браузере. Ничего не загружается на сервер. © 2026 Omnikit (theomnikit.com)