Веб и безопасность приложений

Политика безопасности содержимого (CSP)

Определение

Политика безопасности содержимого (CSP) — это набор правил, по которым браузер разрешает или блокирует загрузку и выполнение содержимого страницы. Правила записывают директивами со списками источников, а саму политику включают в блокирующем режиме или только для отчётов.

Также ищут: Content Security Policy · CSP · Content-Security-Policy · политика загрузки контента

Зачем это знать

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

Доказательная часть

Что подтверждено

  1. Политика CSP задаёт директивы и списки источников, по которым браузер разрешает или блокирует загрузку и выполнение содержимого.

    Граница применимости: Модель применения CSP Level 3.

  2. CSP полезна как дополнительный уровень защиты, но не заменяет контекстное кодирование вывода, безопасные API и исправление источника внедрения.

    Граница применимости: Различие между CSP и основными мерами защиты от XSS.

  3. Политика в Content-Security-Policy-Report-Only наблюдает нарушения, но сама не блокирует действие. Наличие отчётов доказывает работу наблюдения, а не включение блокировки этой политикой.

    Граница применимости: Различие применения политики и режима отчётов в принятой редакции CSP Level 3.

  4. Когда к документу применяются несколько блокирующих политик CSP, действие должно удовлетворять каждой применимой политике. Более разрешающая дополнительная политика не отменяет запрет другой.

    Граница применимости: Совместное применение политик CSP; режим отчётов не становится блокирующим.

  5. default-src служит запасным ограничением для предусмотренных директив загрузки, но не заменяет все директивы CSP. Например, ограничения на встраивание страницы через frame-ancestors задают отдельно.

    Граница применимости: Связи директив в принятой редакции CSP Level 3; полный набор ограничений выбирается под документ.

Граница терминов

Не путать

Политика безопасности содержимого (CSP) Одноразовое значение CSP (nonce)

Одноразовое значение разрешает выбранные элементы внутри политики; область остальных директив и режим блокировки проверяются отдельно.

Политика безопасности содержимого (CSP) Контекстное кодирование вывода

CSP ограничивает исполнение содержимого. Безопасное помещение значения в конкретный контекст устраняет опасную интерпретацию в этом месте.

Перед спецификацией

Что проверить

  1. Отделите политику блокировки от режима отчётов.
  2. Проверьте все одновременно применённые политики.
  3. Настройте нужные директивы загрузки и исполнения.
  4. Отдельно задайте ограничения на встраивание страницы.
  5. Согласуйте политику с разрешёнными элементами документа.
  6. Исправляйте опасные места вывода независимо от отчётов CSP.
  7. Проверяйте блокировку контролируемым безопасным примером в целевом браузере.
Открытые основания

Первоисточники

  • Стандарт2
  • Документация2
  • Первичная спецификация
    Content Security Policy Level 3 World Wide Web Consortium · W3C Working Draft, 5 May 2026 · проверено

    Определяет CSP directives, source lists, nonce-source и browser enforcement для загрузки и исполнения content.

    Утверждения: 01 · 02 · 03 · 05

  • Официальная документация
    Cross Site Scripting Prevention Cheat Sheet OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026 · проверено

    Определяет context-specific output encoding и safe sinks; CSP и WAF рассматривает как дополнительные, а не основные XSS controls.

    Утверждения: 02

  • Первичная спецификация
    Content Security Policy Level 3 World Wide Web Consortium · W3C Working Draft, 13 August 2026 · проверено

    Прочитана сохранённая локальная HTML-копия. Алгоритмы разделов 6–7 отделены от ненормативных примеров раздела 8; редакция проекта не означает проверку поддержки каждого браузера.

    Утверждения: 04

  • Официальная документация
    Input Validation Cheat Sheet OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026 · проверено

    Задаёт раннюю server-side проверку syntax и semantics, allowlist approach и границу с output encoding.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие