Заголовки: CSP.frame-ancestors
Content-Security-Policy: директива frame-ancestors
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2018 года.
Директива frame-ancestors протокола HTTP Content-Security-Policy (CSP) указывает допустимые родительские элементы, которые могут встраивать страницу с помощью <frame>, <iframe>, <object> или <embed>.
Установка для этой директивы значения 'none' аналогична X-Frame-Options: deny (которая также поддерживается в старых браузерах).
Примечание: frame-ancestors позволяет указать источник родительского элемента, который может встраивать страницу. Это отличается от frame-src, позволяющей указать, откуда могут загружаться iframe на странице.
Примечание: Директива frame-ancestors проверяет каждого предка. Если какой-либо предок не соответствует условию, загрузка отменяется. Поэтому при использовании вложенных фреймов директива frame-ancestors должна разрешать всех предков для конечных фреймов.
| Версия CSP | 2 |
|---|---|
| Тип директивы | Директива навигации |
default-src — резервная директива | Нет. Если её не задать, разрешено всё. |
Эта директива не поддерживается в элементе <meta>. | |
Синтаксис
Content-Security-Policy: frame-ancestors 'none'; Content-Security-Policy: frame-ancestors <source-expression-list>;
Эта директива может принимать одно из следующих значений:
'none'-
Этот ресурс нельзя встраивать. Одинарные кавычки обязательны.
<source-expression-list>-
Список значений выражений источника, разделённых пробелами. Этот ресурс можно встраивать, если встраивающий элемент соответствует хотя бы одному из указанных выражений источника. Для этой директивы применимы следующие значения выражений источника:
Примечание: Синтаксис директивы frame-ancestors похож на синтаксис списка источников, принимаемый другими директивами (например, child-src), но она не использует значение default-src в качестве резервного. Политика, в которой указано default-src 'none', по-прежнему позволяет встраивать ресурс кому угодно.
Примеры
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;
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
frame-ancestors |
40 | 15 |
5833–58До Firefox 58 директиваframe-ancestors игнорируется в Content-Security-Policy-Report-Only. |
26 | 10 | 40 |
5833–58До Firefox для Android 58 директиваframe-ancestors игнорируется в Content-Security-Policy-Report-Only. |
27 | 9.3 | 4.0 | 40 | 9.3 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors