Spec-Zone.ru › HTTP

Заголовки: Integrity-Policy

Заголовок Integrity-Policy

Ограниченная доступность

Эта функция не входит в Baseline, поскольку она не работает в некоторых наиболее широко используемых браузерах.

Хотите, чтобы эта функция поддерживалась в большем количестве браузеров? Расскажите нам почему.

  • Подробнее
  • Полная таблица совместимости
>

HTTP-заголовок ответа Integrity-Policy позволяет администраторам веб-сайтов гарантировать, что все ресурсы (определённого типа), загружаемые пользовательским агентом, защищены с помощью проверки целостности подресурсов.

Если задана эта политика, пользовательский агент будет блокировать запросы к указанным назначениям запросов, в которых отсутствуют метаданные целостности, а также не будет выполнять запросы в режиме no-cors. Это помогает защитить загружаемые подресурсы от подмены содержимого.

О нарушениях политики можно сообщать с помощью Reporting API. Отчёты можно получать на странице, для которой действует политика, с помощью ReportingObserver, а также отправлять на конечные точки сервера, заданные в HTTP-заголовке ответа Reporting-Endpoints и выбранные с помощью поля endpoints. Подробнее см. в разделе IntegrityViolationReport.

Тип заголовка Заголовок ответа

Синтаксис

Integrity-Policy: blocked-destinations=(<destination>),sources=(<source>),endpoints=(<endpoint>)

Значения заголовка задаются в виде словарей структурированных полей со следующими ключами:

blocked-destinations

Список назначений запросов, для которых необходимо указать действительные метаданные целостности. Допустимые значения:

script

Ресурсы скриптов.

style

Ресурсы таблиц стилей.

sources Необязательно

Список источников целостности, для которых необходимо указать метаданные целостности. Допустимые значения:

inline

Источник метаданных целостности находится непосредственно в содержимом, например в виде атрибута integrity. Это значение используется по умолчанию.

Поскольку это значение используется по умолчанию и является единственным, пропуск sources равносилен указанию sources=(inline).

endpoints Необязательно

Список имён конечных точек для отчётов, указывающих, куда отправлять отчёты. Конечные точки для отчётов должны быть заданы в заголовке Reporting-Endpoints.

Примеры

>

Блокировка и отправка отчётов, если у скриптов отсутствуют метаданные целостности

В этом примере показан документ, который блокирует запрос и отправляет отчёт на конечную точку сервера, если какой-либо <script> (или HTMLScriptElement) не содержит атрибута integrity либо если ресурс скрипта запрашивается в режиме no-cors.

Обратите внимание, что integrity-endpoint, используемое в Integrity-Policy, задано в заголовке Reporting-Endpoints.

Reporting-Endpoints: integrity-endpoint="https://example.com/integrity", backup-integrity-endpoint="https://report-provider.example/integrity"
Integrity-Policy: blocked-destinations=(script), endpoints=(integrity-endpoint backup-integrity-endpoint)

Данные отчёта могут выглядеть так.

{
  "type": "integrity-violation",
  "url": "https://example.com",
  "body": {
    "documentURL": "https://example.com",
    "blockedURL": "https://example.com/main.js",
    "destination": "script",
    "reportOnly": false
  }
}

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

Спецификация
Целостность подресурсов>
# integrity-policy-section>

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

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
Integrity-Policy 138 138
145Отчёты endpoints игнорируются (нарушения записываются в консоль).
122 26 138
145Отчёты endpoints игнорируются (нарушения записываются в консоль).
91 26 Нет 138 26
blocked-destinations_script 138 138 145 122 26 138 145 91 26 Нет 138 26
blocked-destinations_style Нет Нет 142 Нет Нет Нет Нет Нет Нет Нет Нет Нет

См. также

  • Integrity-Policy-Report-Only
  • Reporting-Endpoints
  • ReportingObserver
  • IntegrityViolationReport
  • Политика целостности в разделе «Целостность подресурсов»
  • Reporting API

© 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/Integrity-Policy

Spec-Zone.ru

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