Веб и безопасность приложений · проверено по источникам

Допустимые предки страницы CSP

frame-ancestors — директива CSP, ограничивающая источники документов, которые могут встраивать защищаемую страницу. Проверка относится к предкам встроенного документа.

Также ищут: CSP frame-ancestors · frame-ancestors · ограничение встраивания страницы

Практический смысл

Почему это важно

Разрешённый непосредственный контейнер ещё не подтверждает допустимость внешнего контейнера. При интеграции портала и вложенных интерфейсов нужно проверять всю цепочку и способ доставки политики.

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

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

  1. frame-ancestors ограничивает, кто может встроить защищаемый ресурс через frame, iframe, object или embed. Она не выбирает, какие дочерние страницы этот ресурс сам может загружать: это другое направление ограничения.

    Граница применимости: Проект CSP Level 3 от 13 августа 2026 года, 6.4.2 и 6.1.5. Директива защищаемого ответа сопоставляется с его предками; допустимость самих сетевых ответов оценивается отдельно.

  2. При проверке встраивания алгоритм frame-ancestors проходит по источникам всех документов-предков. Несоответствие хотя бы одного из них даёт результат «запрещено»: совпадения только непосредственного родителя недостаточно. Встраивание при этом блокируется в политике с блокирующим режимом, а политика только для отчётов о том же нарушении сообщает.

    Граница применимости: Проект CSP Level 3 от 13 августа 2026 года, 6.4.2.1. Результат проверки для вложенного документа с обычным сетевым адресом; блокирующий эффект зависит от режима политики.

  3. frame-ancestors не наследует значение default-src. Поэтому одна директива default-src со значением none не запрещает другим страницам встраивать этот ресурс.

    Граница применимости: Проект CSP Level 3 от 13 августа 2026 года, 6.4.2. Оценивается именно эта политика; отдельный X-Frame-Options или другая политика могут дать собственное ограничение.

  4. Клиент обязан игнорировать frame-ancestors, если она объявлена через элемент meta. Чтобы эта директива ограничивала встраивание по описанному механизму, её доставляют в политике HTTP-ответа, а не только внутри HTML.

    Граница применимости: Проект CSP Level 3 от 13 августа 2026 года, 6.4.2. Требование игнорировать относится к этой директиве в meta, а не ко всем возможным директивам CSP.

  5. Значения 'none' и 'self' у frame-ancestors примерно соответствуют X-Frame-Options DENY и SAMEORIGIN. Если ответ содержит frame-ancestors в блокирующей политике, модель CSP 3 и HTML требует игнорировать X-Frame-Options; политика только для отчётов не удовлетворяет этому условию.

    Граница применимости: Проект CSP Level 3 от 13 августа 2026 года, 6.4.2.2. Сопоставление режимов в модели документа, а не измерение поддержки конкретных версий браузера. Примерное соответствие не объявлено полной эквивалентностью всех реализаций.

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

Не путать

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

frame-ancestors — отдельная директива в составе CSP. Для неё нет подстановки default-src; общая политика запрета загрузок не даёт автоматически запрет внешнего встраивания.

Политика одного источника (SOP)

Ограничение предков решает, допустимо ли встраивание. Различие источников и ограничения доступа к данным документов не являются тем же решением.

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

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

  1. Определите защищаемый ответ и направление встраивания.
  2. Проверьте доставку директивы в HTTP-политике.
  3. Различайте блокирующий режим и режим отчётов.
  4. Перечислите все источники предков, а не только родителя.
  5. Не подставляйте default-src вместо отсутствующего frame-ancestors.
  6. Проверьте совместную доставку X-Frame-Options.
  7. Испытайте нужные версии клиентов отдельно от чтения проекта стандарта.
Открытые основания

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

  • Первичная спецификация

    Content Security Policy Level 3

    World Wide Web Consortium · W3C Working Draft, 13 August 2026

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

    Открыть первоисточник
  • Первичная спецификация

    Content Security Policy Level 3

    World Wide Web Consortium · W3C Working Draft, 5 May 2026

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

    Открыть первоисточник
  • Первичная спецификация

    The Web Origin Concept

    Internet Engineering Task Force · RFC 6454, December 2011

    Определяет origin как scheme, host и port и описывает origin-based browser isolation model.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие