Заголовки: Integrity-Policy-Report-Only
Заголовок Integrity-Policy-Report-Only
Ограниченная доступность
Эта функция не входит в Baseline, так как она не работает в некоторых наиболее широко используемых браузерах.
Хотите, чтобы эта функция поддерживалась шире? Расскажите нам почему.
HTTP-заголовок ответа Integrity-Policy-Report-Only позволяет администраторам веб-сайтов получать отчёты о ресурсах, загружаемых пользовательским агентом, которые нарушили бы гарантии целостности подресурсов, если бы политика целостности применялась (с помощью заголовка Integrity-Policy).
О нарушениях политики можно сообщать с помощью Reporting API. Отчёты можно просматривать на странице, к которой применяется политика, используя ReportingObserver, а также отправлять на конечные точки сервера, заданные в HTTP-заголовке ответа Reporting-Endpoints и выбранные с помощью поля endpoints. Подробнее см. IntegrityViolationReport.
Заголовок позволяет разработчикам тестировать политики целостности и устранять проблемы с содержимым, прежде чем в конечном итоге развернуть заголовок Integrity-Policy для применения политики.
| Тип заголовка | Заголовок ответа |
|---|
Синтаксис
Integrity-Policy-Report-Only: 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-Report-Only, задано в заголовке Reporting-Endpoints.
Reporting-Endpoints: integrity-endpoint=https://example.com/integrity, backup-integrity-endpoint=https://report-provider.example/integrity Integrity-Policy-Report-Only: blocked-destinations=(script), endpoints=(integrity-endpoint backup-integrity-endpoint)
Полезная нагрузка отчёта может выглядеть так. Обратите внимание, что свойство body.reportOnly имеет значение true, так как этот отчёт был создан в результате нарушения Integrity-Policy-Report-Only.
{
"age": "176279",
"type": "integrity-violation",
"url": "https://example.com",
"body": {
"documentURL": "https://example.com",
"blockedURL": "https://example.com/main.js",
"destination": "script",
"reportOnly": "true"
},
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"
}
Спецификации
| Спецификация |
|---|
| Subresource Integrity> # integrity-policy-section> |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
Integrity-Policy-Report-Only |
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 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
См. также
© 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-Report-Only