Заголовки: Content-Security-Policy
Заголовок Content-Security-Policy (CSP)
Базовая поддержка Широко доступно *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с августа 2016 года.
* Некоторые части этой функции могут поддерживаться на разных уровнях.
HTTP-заголовок ответа Content-Security-Policy позволяет администраторам веб-сайтов контролировать ресурсы, которые пользовательский агент может загружать для данной страницы. За несколькими исключениями, политики в основном задают источники серверов и конечные точки скриптов. Это помогает защититься от атак типа межсайтового скриптинга.
О нарушениях можно сообщать с помощью Reporting API. Отчёты можно просматривать на странице, для которой применяется политика, используя ReportingObserver, а также отправлять на конечные точки сервера, заданные в HTTP-заголовке ответа Reporting-Endpoints и выбранные с помощью директивы CSP report-to. Дополнительные сведения см. в разделе CSPViolationReport.
Подробные сведения о том, как CSP передаётся браузеру, как она выглядит, а также о вариантах использования и стратегиях развёртывания см. в руководстве Content Security Policy (CSP).
| Тип заголовка | Заголовок ответа |
|---|
Синтаксис
Content-Security-Policy: <policy-directive>; <policy-directive>
где <policy-directive> состоит из: <directive> <value> без внутренних знаков препинания.
Директивы
>Директивы загрузки
Директивы загрузки определяют источники, из которых можно загружать ресурсы определённых типов.
child-src-
Определяет допустимые источники для веб-воркеров и вложенных контекстов просмотра, загружаемых с помощью таких элементов, как
<frame>и<iframe>.Резервная директива для
frame-srcиworker-src. connect-src-
Ограничивает URL-адреса, которые можно загружать с помощью скриптовых интерфейсов.
default-src-
Служит резервной директивой для других директив загрузки.
Резервная директива для всех остальных директив загрузки.
-
fenced-frame-src -
Задаёт допустимые источники для вложенных контекстов просмотра, загружаемых в элементы
<fencedframe>. font-src-
Задаёт допустимые источники для шрифтов, загружаемых с помощью
@font-face. frame-src-
Задаёт допустимые источники для вложенных контекстов просмотра, загружаемых в такие элементы, как
<frame>и<iframe>. img-src-
Задаёт допустимые источники изображений и значков сайта.
manifest-src-
Задаёт допустимые источники файлов манифеста приложения.
media-src-
Задаёт допустимые источники для загрузки мультимедиа с помощью элементов
<audio>,<video>и<track>. object-src-
Задаёт допустимые источники для элементов
<object>и<embed>. -
prefetch-src -
Задаёт допустимые источники для предварительной загрузки или предварительного отображения.
script-src-
Задаёт допустимые источники для ресурсов JavaScript и WebAssembly.
Резервная директива для
script-src-elemиscript-src-attr. script-src-elem-
Задаёт допустимые источники для элементов
<script>JavaScript. script-src-attr-
Задаёт допустимые источники для встроенных обработчиков событий JavaScript.
style-src-
Задаёт допустимые источники таблиц стилей.
Резервная директива для
style-src-elemиstyle-src-attr. style-src-elem-
Задаёт допустимые источники для элементов таблиц стилей
<style>и элементов<link>сrel="stylesheet". style-src-attr-
Задаёт допустимые источники для встроенных стилей, применённых к отдельным элементам DOM.
worker-src-
Задаёт допустимые источники для скриптов
Worker,SharedWorkerилиServiceWorker.
Для всех директив загрузки можно указать единственное значение 'none', означающее, что загрузка ресурсов соответствующего типа полностью запрещена, или одно либо несколько значений выражений источника, задающих допустимые источники для этого типа ресурсов. Дополнительные сведения см. в разделе Синтаксис директив загрузки.
Резервные директивы
Некоторые директивы загрузки служат резервными для других, более конкретных директив. Это означает, что если более конкретная директива не задана, резервная директива определяет политику для соответствующего типа ресурсов.
-
default-srcслужит резервной директивой для всех остальных директив загрузки. -
script-srcслужит резервной директивой дляscript-src-attrиscript-src-elem. -
style-srcслужит резервной директивой дляstyle-src-attrиstyle-src-elem. -
child-srcслужит резервной директивой дляframe-srcиworker-src.
Например:
- Если
img-srcне указана, но указанаdefault-src, то к изображениям будет применяться политика, заданнаяdefault-src. - Если
script-src-elemне указана, но указанаscript-src, то к элементам<script>будет применяться политика, заданнаяscript-src. - Если
script-src-elemиscript-srcне указаны, но указанаdefault-src, то к элементам<script>будет применяться политика, заданнаяdefault-src.
Директивы документа
Директивы документа задают свойства документа или среды воркера, к которым применяется политика.
Директивы навигации
Директивы навигации определяют, например, куда пользователь может перейти или отправить форму.
Директивы отчётности
Директивы отчётности задают URL назначения для отчётов о нарушениях CSP в Content-Security-Policy и Content-Security-Policy-Report-Only.
report-to-
Передаёт браузеру токен, указывающий конечную точку или группу конечных точек для отправки сведений о нарушениях CSP. Конечные точки, обозначенные этим токеном, задаются в других HTTP-заголовках, таких как
Reporting-EndpointsиReport-To.Предупреждение: Эта директива предназначена для замены
report-uri; в браузерах, поддерживающихreport-to, директиваreport-uriигнорируется. Однако, покаreport-toне получит широкую поддержку, следует указывать оба заголовка, как показано ниже (гдеendpoint_name— имя отдельно заданной конечной точки):Content-Security-Policy: …; report-uri https://endpoint.example.com; report-to endpoint_name
Другие директивы
require-trusted-types-for-
Принудительно включает Trusted Types в точках внедрения DOM XSS.
trusted-types-
Используется для задания списка разрешённых политик Trusted Types. Trusted Types позволяет приложениям ограничить точки внедрения DOM XSS, принимая вместо строк только типизированные значения, которые нельзя подделать.
upgrade-insecure-requests-
Указывает пользовательским агентам считать все небезопасные URL-адреса сайта (обслуживаемые по HTTP) заменёнными безопасными URL-адресами (обслуживаемыми по HTTPS). Эта директива предназначена для сайтов с большим количеством устаревших небезопасных URL-адресов, которые необходимо переписать.
Устаревшие директивы
-
block-all-mixed-content -
Запрещает загрузку ресурсов по HTTP, если страница загружена по HTTPS.
-
report-uri -
Передаёт браузеру URL-адрес, на который следует отправлять отчёты о нарушениях CSP. Эта директива заменена директивой
report-to.
Синтаксис директив загрузки
Для всех директив загрузки можно указать одно из следующих значений:
- единственное значение
'none', означающее, что загрузка ресурсов соответствующего типа полностью запрещена - одно или несколько значений выражений источника, задающих допустимые источники для этого типа ресурсов.
Каждое выражение источника принимает одну из перечисленных ниже форм. Обратите внимание: не все формы применимы ко всем директивам загрузки. Чтобы узнать, какие формы применимы к конкретной директиве, см. её документацию.
Форматы <host-source> и <scheme-source> должны указываться без кавычек, а все остальные форматы следует заключать в одинарные кавычки.
'nonce-<nonce_value>'
Это значение состоит из строки nonce-, за которой следует значение nonce. В значении nonce можно использовать любые символы из Base64 или URL-безопасного Base64.
Эта строка представляет собой случайное значение, которое сервер генерирует для каждого HTTP-ответа. Например:
'nonce-416d1177-4d12-4e3b-b7c9-f6c409789fb8'
Затем сервер может указать то же значение в качестве значения атрибута nonce любого ресурса <script> или <style>, который необходимо загрузить из документа.
Браузер сравнивает значение из директивы CSP со значением атрибута элемента и загружает ресурс только в случае их совпадения.
Если директива содержит nonce и unsafe-inline, браузер игнорирует unsafe-inline.
Дополнительные сведения об использовании см. в разделе Nonce руководства по CSP.
'<hash_algorithm>-<hash_value>'
Это значение состоит из строки, указывающей алгоритм хеширования, за которой следует -, а затем — значение хеша. В значении хеша можно использовать любые символы из Base64 или URL-безопасного Base64.
- Идентификатор алгоритма хеширования должен быть одним из следующих:
sha256,sha384илиsha512. - Значение хеша — это хеш в кодировке base64 ресурса
<script>или<style>, вычисленный с помощью одной из следующих хеш-функций: SHA-256, SHA-384 или SHA-512.
Например:
'sha256-cd9827ad...'
Когда браузер получает документ, он вычисляет хеш содержимого всех элементов <script> и <style>, сравнивает результат со всеми хешами в директиве CSP и загружает ресурс только при совпадении.
Если элемент загружает внешний ресурс (например, с помощью атрибута src), необходимо также задать для элемента атрибут integrity.
Если директива содержит хеш и unsafe-inline, браузер игнорирует unsafe-inline.
Дополнительные сведения об использовании см. в разделе Хеши руководства по CSP.
<host-source>
URL или IP-адрес хоста, являющегося допустимым источником ресурса.
Схема, номер порта и путь являются необязательными.
Если схема не указана, используется схема источника документа.
При сопоставлении схем допускается переход на более безопасную схему. Например:
-
http://example.comтакже разрешит ресурсы изhttps://example.com -
ws://example.orgтакже разрешит ресурсы изwss://example.org.
Подстановочные знаки ('*') можно использовать для поддоменов, адреса хоста и номера порта, указывая, что допустимы все разрешённые значения каждого из них. Например:
-
http://*.example.comразрешает ресурсы с любого поддоменаexample.comпо HTTP или HTTPS.
Пути, заканчивающиеся на /, соответствуют всем путям, для которых они являются префиксом. Например:
-
example.com/api/разрешит ресурсы изexample.com/api/users/new.
Пути, не заканчивающиеся на /, сопоставляются точно. Например:
-
https://example.com/file.jsразрешает ресурсы изhttps://example.com/file.js, но не изhttps://example.com/file.js/file2.js.
<scheme-source>
Схема, например https:. Двоеточие обязательно.
Допускается переход на более безопасную схему, поэтому:
-
http:также разрешит ресурсы, загружаемые по HTTPS -
ws:также разрешит ресурсы, загружаемые по WSS.
'self'
Ресурсы данного типа можно загружать только с того же источника, что и документ.
Допускается переход на более безопасную схему. Например:
- Если документ предоставляется с
http://example.com, CSP со значением'self'также разрешит ресурсы изhttps://example.com. - Если документ предоставляется с
ws://example.org, CSP со значением'self'также разрешит ресурсы изwss://example.org.
'trusted-types-eval'
По умолчанию, если CSP содержит директиву default-src или script-src, функции JavaScript, вычисляющие свои аргументы как JavaScript-код, отключаются. К ним относятся eval(), аргумент code метода setTimeout() и конструктор Function().
Ключевое слово trusted-types-eval позволяет отменить эту защиту, но только если включены Trusted Types и этим функциям передаются именно они, а не строки. Это позволяет динамически вычислять строки как JavaScript-код, но только после передачи входных данных через функцию преобразования до их внедрения. Такая функция может очистить входные данные от потенциально опасной разметки.
При использовании этих методов с trusted types вместо 'unsafe-eval' необходимо использовать trusted-types-eval. Это гарантирует, что доступ к методам будет заблокирован в браузерах, не поддерживающих trusted types.
Примечание: Разработчикам следует избегать использования trusted-types-eval или этих методов, если в этом нет крайней необходимости. Trusted Types гарантирует, что входные данные проходят через функцию преобразования, но не гарантирует, что эта функция делает их безопасными (и добиться этого может быть очень сложно).
Дополнительные сведения об использовании см. в разделе eval() и похожие API руководства по CSP.
'unsafe-eval'
По умолчанию, если CSP содержит директиву default-src или script-src, функции JavaScript, вычисляющие свои аргументы как JavaScript-код, отключаются. К ним относятся eval(), аргумент code метода setTimeout() и конструктор Function().
Ключевое слово unsafe-eval позволяет отменить эту защиту, разрешая динамически вычислять строки как JavaScript-код.
Предупреждение: Разработчикам следует избегать 'unsafe-eval', поскольку это сводит на нет большую часть преимуществ CSP. Если без этих методов не обойтись, 'trusted-types-eval' предлагает «потенциально» более безопасную альтернативу.
Дополнительные сведения об использовании см. в разделе eval() и похожие API руководства по CSP.
'wasm-unsafe-eval'
По умолчанию, если CSP содержит директиву default-src или script-src, странице запрещено компилировать WebAssembly с помощью таких функций, как WebAssembly.compileStreaming().
Ключевое слово wasm-unsafe-eval позволяет отменить эту защиту. Это гораздо более безопасная альтернатива 'unsafe-eval', поскольку она не включает возможность произвольного выполнения JavaScript.
'unsafe-inline'
По умолчанию, если CSP содержит директиву default-src или script-src, встроенному JavaScript запрещено выполняться. К нему относятся:
- встроенные теги
<script> - встроенные атрибуты обработчиков событий
-
URL-адреса
javascript:.
Аналогично, если CSP содержит default-src или директиву style-src, встроенный CSS не будет загружен. К нему относятся:
- встроенные теги
<style> -
атрибуты
style.
Ключевое слово unsafe-inline позволяет отменить эту защиту и разрешить загрузку всех перечисленных форм.
Предупреждение: Разработчикам следует избегать 'unsafe-inline', поскольку это сводит на нет большую часть преимуществ CSP.
Дополнительные сведения об использовании см. в разделе Встроенный JavaScript руководства по CSP.
'unsafe-hashes'
По умолчанию, если CSP содержит директиву default-src или script-src, встроенные атрибуты обработчиков событий, такие как onclick, и встроенные атрибуты style выполнять нельзя.
Выражение 'unsafe-hashes' позволяет браузеру использовать хеш-выражения для встроенных обработчиков событий и атрибутов style. Например, CSP может содержать такую директиву:
script-src 'unsafe-hashes' 'sha256-cd9827ad...'
Если значение хеша совпадает с хешем значения встроенного атрибута обработчика событий или атрибута style, выполнение кода будет разрешено.
Предупреждение: Значение 'unsafe-hashes' небезопасно.
В частности, оно позволяет провести атаку, при которой содержимое встроенного атрибута обработчика событий внедряется в документ как встроенный элемент <script>. Предположим, встроенный обработчик событий выглядит так:
<button onclick="transferAllMyMoney()">Transfer all my money</button>
Если злоумышленник может внедрить встроенный элемент <script> с этим кодом, CSP разрешит его автоматическое выполнение.
Тем не менее 'unsafe-hashes' гораздо безопаснее, чем 'unsafe-inline'.
'inline-speculation-rules'
По умолчанию, если CSP содержит директиву default-src или script-src, встроенному JavaScript запрещено выполняться. Директива 'inline-speculation-rules' позволяет браузеру загружать встроенные элементы <script>, у которых атрибут type имеет значение speculationrules.
Дополнительные сведения см. в разделе API правил предварительной загрузки.
'strict-dynamic'
Ключевое слово 'strict-dynamic' позволяет распространить доверие, предоставленное скрипту с помощью nonce или хеша, на скрипты, которые этот скрипт загружает динамически, например создавая новые теги <script> с помощью Document.createElement() и затем добавляя их в документ с помощью Node.appendChild().
Если это ключевое слово присутствует в директиве, все следующие значения исходных выражений игнорируются:
Дополнительную информацию об использовании см. в разделе Ключевое слово strict-dynamic руководства по CSP.
'report-sample'
Если это выражение включено в директиву, управляющую скриптами или стилями, и директива приводит к блокировке браузером встроенных скриптов, встроенных стилей или атрибутов обработчиков событий, то отчёт о нарушении, который создаёт браузер, будет содержать свойство sample с первыми 40 символами заблокированного ресурса.
CSP в рабочих потоках
Рабочие потоки обычно не регулируются политикой безопасности содержимого документа (или родительского рабочего потока), который их создал. Чтобы задать политику безопасности содержимого для рабочего потока, установите заголовок ответа Content-Security-Policy для запроса, которым был запрошен сам скрипт рабочего потока.
Исключение составляют случаи, когда источник скрипта рабочего потока является глобально уникальным идентификатором (например, если в URL используется схема data или blob). В этом случае рабочий поток наследует политику безопасности содержимого документа или рабочего потока, который его создал.
Несколько политик безопасности содержимого
Механизм CSP позволяет задавать для ресурса несколько политик, в том числе с помощью заголовка Content-Security-Policy, заголовка Content-Security-Policy-Report-Only и элемента <meta>.
Заголовок Content-Security-Policy можно использовать несколько раз, как показано в примере ниже. Обратите особое внимание на директиву connect-src. Несмотря на то что вторая политика разрешает подключение, первая политика содержит connect-src 'none'. Добавление дополнительных политик может только ещё больше ограничить возможности защищённого ресурса, а это означает, что подключение будет запрещено и будет применяться самая строгая политика — connect-src 'none'.
Content-Security-Policy: default-src 'self' http://example.com;
connect-src 'none';
Content-Security-Policy: connect-src http://example.com/;
script-src http://example.com/
Примеры
>Запретить небезопасный встроенный код и разрешить ресурсы только по HTTPS
Этот HTTP-заголовок задаёт политику по умолчанию, разрешающую загружать ресурсы (изображения, шрифты, скрипты и т. д.) только по HTTPS. Поскольку директивы unsafe-inline и unsafe-eval не заданы, встроенные скрипты будут заблокированы.
Content-Security-Policy: default-src https:
Те же ограничения можно применить с помощью элемента HTML <meta>.
<meta http-equiv="Content-Security-Policy" content="default-src https:" />
Разрешить встроенный код и ресурсы по HTTPS, но отключить плагины
Эту политику можно использовать на существующем сайте, где слишком много встроенного кода, чтобы исправить его, — она гарантирует, что ресурсы загружаются только по HTTPS, и отключает плагины:
Content-Security-Policy: default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'
Сообщать о нарушениях, но не применять ограничения во время тестирования
В этом примере задаются те же ограничения, что и в предыдущем, но используются заголовок Content-Security-Policy-Report-Only и директива report-to. Такой подход применяется во время тестирования: о нарушениях сообщается, но выполнение кода не блокируется.
Конечные точки (URL), на которые отправляются отчёты, задаются с помощью HTTP-заголовка ответа Reporting-Endpoints.
Reporting-Endpoints: csp-endpoint="https://example.com/csp-reports"
Затем в политике CSP с помощью директивы report-to в качестве целевого адреса отчёта выбирается конкретная конечная точка.
Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-url/; report-to csp-endpoint
Обратите внимание, что выше также указана директива report-uri, поскольку report-to пока не поддерживается большинством браузеров.
Другие примеры см. в разделе Реализация политики безопасности содержимого (CSP).
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
Content-Security-Policy |
2514 | 14 | 234 | 15 | 76 | 2518 | 23 | 1414 | 76 | 1.51.0 | 4.44.4 | 76 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
base-uri |
40 | 79 | 35 | 27 | 10 | 40 | 35 | 27 | 9.3 | 4.0 | 40 | 9.3 |
block-all-mixed-content |
44Будет удалено, см. ошибку 40260100. |
79Будет удалено, см. ошибку 40260100. |
48–122 | 31Будет удалено, см. ошибку 40260100. |
10 | 44Будет удалено, см. ошибку 40260100. |
48–122 | 32Будет удалено, см. ошибку 40260100. |
10 | 4.0Будет удалено, см. ошибку 40260100. |
44Будет удалено, см. ошибку 40260100. |
10 |
child-src |
40 | 15 | 45 | 27 | 10 | 40 | 45 | 27 | 9.3 | 4.0 | 40 | 9.3 |
connect-src |
25 | 14 |
5023–50До Firefox 50 атрибуты ping элементов <a> не учитывались директивой connect-src. |
15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
default-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
fenced-frame-src |
126 | 126 | Нет | 112 | Нет | 126 | Нет | 83 | Нет | 28.0 | 126 | Нет |
font-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
form-action |
40 | 15 | 36 | 27 | 10 | 40 | 36 | 27 | 9.3 | 4.0 | 40 | 9.3 |
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 |
frame-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
img-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
manifest-src |
40 | 79 | 41 | 27 | 11 | 40 | 41 | 27 | 11 | 4.0 | 40 | 11 |
media-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
meta-element-support |
25 | ≤18 | 45 | 15 | 7 | 25 | 45 | 14 | 7 | 1.5 | 4.4 | 7 |
object-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
prefetch-src |
Нет | Нет | Нет | Нет | 16.3 | Нет | Нет | Нет | 16.3 | Нет | Нет | 16.3 |
report-sample |
59 | 79 | 63 | 46 | 15.4 | 59 | 63 | 43 | 15.4 | 7.0 | 59 | 15.4 |
report-to |
70 | 79 | 149 | 57 | 16.4 | 70 | 149 | 49 | 16.4 | 10.0 | 70 | 16.4 |
report-uri |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
require-trusted-types-for |
83 | 83 | 148 | 69 | 26 | 83 | 148 | 59 | 26 | 13.0 | 83 | 26 |
sandbox |
25 | 14 | 50 | 15 | 7 | 25 | 50 | 14 | 7 | 1.5 | 4.4 | 7 |
script-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
script-src-attr |
75 | 79 | 108 | 62 | 15.4 | 75 | 108 | 54 | 15.4 | 11.0 | 75 | 15.4 |
script-src-elem |
75 | 79 | 108 | 62 | 15.4 | 75 | 108 | 54 | 15.4 | 11.0 | 75 | 15.4 |
strict-dynamic |
52 | 79 | 52 | 39 | 15.4 | 52 | 52 | 41 | 15.4 | 6.0 | 52 | 15.4 |
style-src |
25 | 14 | 23 | 15 | 7 | 25 | 23 | 14 | 7 | 1.5 | 4.4 | 7 |
style-src-attr |
75 | 79 | 108 | 62 | 15.4 | 75 | 108 | 54 | 15.4 | 11.0 | 75 | 15.4 |
style-src-elem |
75 | 79 | 108 | 62 | 26.2 | 75 | 108 | 54 | 26.2 | 11.0 | 75 | 26.2 |
trusted-types |
83 | 83 | 148 | 69 | 26 | 83 | 148 | 59 | 26 | 13.0 | 83 | 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
unsafe-hashes |
69 | 79 | 109 | 56 | 15.4 | 69 | 109 | 48 | 15.4 | 10.0 | 69 | 15.4 |
upgrade-insecure-requests |
43 | 17 | 42 | 30 | 10.1 | 43 | 42 | 30 | 10.3 | 4.0 | 43 | 10.3 |
worker-src |
59В Chrome 59 и более поздних версиях пропускается устаревшая директиваchild-src. |
79 | 58 | 46В Opera 46 и более поздних версиях пропускается устаревшая директиваchild-src. |
15.5 | 59В Chrome для Android 59 и более поздних версиях пропускается устаревшая директиваchild-src. |
58 | 43В Opera для Android 43 и более поздних версиях пропускается устаревшая директиваchild-src. |
15.5 | 7.0 | 59В WebView для Android 59 и более поздних версиях пропускается устаревшая директиваchild-src. |
15.5 |
worker_support |
56 | 79 | 50 | 43 | 10 | 56 | 50 | 43 | 10 | 6.0 | 56 | 10 |
См. также
Content-Security-Policy-Report-Only- Директива CSP
report-to Reporting-EndpointsCSPViolationReport- Reporting API.
- Подробнее: политика безопасности содержимого
- Безопасность содержимого в WebExtensions
- Применение строгой политики
- CSP Evaluator — оцените свою политику безопасности содержимого
© 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