Spec-Zone.ru › HTTP

CSP: frame-ancestors

CSP: frame-ancestors

Директива HTTP Content-Security-Policy (CSP) frame-ancestors определяет допустимых родителей, которые могут встраивать страницу с помощью <frame>, <iframe>, <object>, <embed> или <applet>.

Установка этой директивы на 'none' аналогична X-Frame-Options: deny (которая также поддерживается в старых браузерах).

Примечание: frame-ancestors позволяет указать, какой родительский источник может встроить страницу. Это отличается от frame-src, которое позволяет указать, откуда можно загружать фреймы iframes на странице.

Версия CSP 2
Тип директивы Директива навигации
default-src по умолчанию Нет. Отсутствие настроек позволяет все.
Эта директива не поддерживается в элементе <meta>.

Синтаксис

Для политики frame-ancestors можно задать один или несколько источников:

Content-Security-Policy: frame-ancestors <source>;
Content-Security-Policy: frame-ancestors <space separated list of sources>;

Источники

<source> может быть одним из следующих:

Примечание: Синтаксис директивы frame-ancestors аналогичен списку источников других директив (например, default-src), но не допускает 'unsafe-eval' или 'unsafe-inline' и не использует default-src по умолчанию. Разрешены только указанные ниже источники:

<host-source>

Доменные имена или IP-адреса, а также необязательная схема URL и/или номер порта, разделенные пробелами. Адрес сайта может включать необязательный ведущий символ подстановки (звездочка, '*'), а вы можете использовать символ подстановки (опять же, '*') для номера порта, указывая, что все законные порты являются допустимыми для источника. Одиночные кавычки вокруг имени хоста недопустимы. Примеры:

  • http://*.example.com: Соответствует всем попыткам загрузки с любого поддомена example.com с использованием схемы http: URL.
  • mail.example.com:443: Соответствует всем попыткам доступа к порту 443 на mail.example.com.
  • https://store.example.com: Соответствует всем попыткам доступа к store.example.com с использованием https:.

Предупреждение: Если для host-source не указана схема URL, а iframe загружается из URL https, URL страницы, загружающей iframe, также должен быть https, в соответствии с разделом Соответствие URL выражению в источнике с учетом количества перенаправлений? спецификации CSP.

<scheme-source>

Схема, например http: или https:. Двоеточие обязательно, а сама схема не должна быть в кавычках. Также можно указывать схемы данных (не рекомендуется).

  • data: Разрешает использование data: URL в качестве источника контента. Это небезопасно; злоумышленник также может вставить произвольные data: URL. Используйте это с осторожностью и ни в коем случае не для скриптов.
  • mediastream: Разрешает использование mediastream: URI в качестве источника контента.
  • blob: Разрешает использование blob: URI в качестве источника контента.
  • filesystem: Разрешает использование filesystem: URI в качестве источника контента.
'self'

Относится к источнику, с которого защищенный документ обслуживается, включая ту же схему URL и номер порта. Необходимо указать одиночные кавычки. Некоторые браузеры специально исключают blob и filesystem из директив источника. Веб-сайтам, которым необходимо разрешить эти типы контента, следует указывать их с помощью атрибута Data.

'none'

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

Примеры

Content-Security-Policy: frame-ancestors 'none';

Content-Security-Policy: frame-ancestors 'self' https://www.example.org;

Content-Security-Policy: frame-ancestors 'self' https://example.org https://example.com https://store.example.com;

Спецификации

Спецификация
Content Security Policy Level 3
# directive-frame-ancestors

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet
frame-ancestors
40
15
33
Перед Firefox 58, frame-ancestors игнорируется в Content-Security-Policy-Report-Only.
Нет
26
10
Да
Да
33
Перед Firefox для Android 58, frame-ancestors игнорируется в Content-Security-Policy-Report-Only.
Да
9.3
Да

См. также

  • Content-Security-Policy
  • X-Frame-Options
  • frame-src CSP

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API