Spec-Zone.ru › HTTP

Политика ресурсов из разных источников (CORP)

Политика ресурсов из разных источников (CORP)

Политика ресурсов из разных источников — это политика, устанавливаемая заголовком Cross-Origin-Resource-Policy HTTP, которая позволяет веб-сайтам и приложениям включить защиту от определенных запросов из других источников (например, тех, что выполняются с помощью элементов, таких как <script> и <img>), для смягчения спекулятивных атак по побочным каналам, таких как Spectre, а также атак включения межсайтовых скриптов.

CORP — это дополнительный уровень защиты, помимо стандартной политики одного источника. Политика ресурсов из разных источников дополняет блокировку чтения из разных источников (CORB), которая по умолчанию предотвращает некоторые чтений из разных источников.

Примечание: Политика эффективна только для no-cors запросов, которые по умолчанию выполняются для методов/заголовков, разрешенных CORS.

Поскольку эта политика выражается через заголовок ответа, сам запрос не предотвращается — вместо этого браузер предотвращает утечку результата, удаляя тело ответа.

Использование

Примечание: Из-за ошибки в Chrome настройка политики ресурсов из разных источников может нарушить отображение PDF, не позволяя посетителям прочитать страницы PDF, начиная со второй. Будьте осторожны, используя этот заголовок в рабочей среде.

Веб-приложения устанавливают политику ресурсов из разных источников через заголовок HTTP ответа Cross-Origin-Resource-Policy, который принимает одно из трех значений:

same-site

Только запросы с того же сайта могут читать ресурс.

Предупреждение: Это менее безопасно, чем источник. Алгоритм проверки, являются ли два источника одним сайтом определен в стандарте HTML и включает проверку регистрируемого домена.

same-origin

Только запросы с того же источника (т. е. схема + хост + порт) могут читать ресурс.

cross-origin

Запросы с любого источника (как с одного сайта, так и с разных сайтов) могут читать ресурс. Это полезно, когда используется COEP (см. ниже).

Cross-Origin-Resource-Policy: same-site | same-origin | cross-origin

При проверке политики ресурсов из разных источников, если заголовок установлен, браузер отклонит no-cors запросы, выпущенные из другого источника/сайта.

Связь с политикой внедрения из разных источников (COEP)

Заголовок HTTP ответа Cross-Origin-Embedder-Policy, когда используется для документа, может потребовать, чтобы подресурсы были с тем же источником, что и документ, или пришли с заголовком HTTP Cross-Origin-Resource-Policy, чтобы указать, что они могут быть встроены. Вот почему существует значение cross-origin.

История

Идея была первоначально предложена в 2012 году (как From-Origin), но была возрождена во втором квартале 2018 года и реализована в Safari и Chromium.

В начале 2018 года были раскрыты две уязвимости в аппаратном обеспечении по побочным каналам, известные как Meltdown и Spectre. Эти уязвимости позволяли раскрывать конфиденциальные данные из-за гонки, возникшей в рамках функциональности спекулятивного выполнения, предназначенной для повышения производительности.

В ответ Chromium реализовал блокировку чтения из разных источников, которая автоматически защищает определенные ресурсы (HTML, JSON и XML) от чтения из разных источников. Если приложение не предоставляет директиву no-sniff, Chromium попытается определить Content-Type и применить защиту в любом случае.

Cross-Origin-Resource-Policy — это заголовок ответа, включаемый по желанию, который может защищать любой ресурс; браузерам не нужно угадывать типы MIME.

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

Спецификация
Стандарт Fetch
# cross-origin-resource-policy-header

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Cross-Origin_Resource_Policy_(CORP)
73
["До версии 75 загрузка файлов с этим заголовком в Chrome не работала. См. ошибку 952834.", "С версии 80 по 85 линейные PDF-файлы, предоставляемые встраиваемо, с этим заголовком отображались неправильно. См. ошибку 1074261. С версии 86 частичная загрузка PDF отключена."]
79
74
Нет
Нет
12
73
["До версии 75 загрузка файлов с этим заголовком в Chrome не работала. См. ошибку 952834.", "С версии 80 по 85 линейные PDF-файлы, предоставляемые встраиваемо, с этим заголовком отображались неправильно. См. ошибку 1074261. С версии 86 частичная загрузка PDF отключена."]
73
["До версии 75 загрузка файлов с этим заголовком в Chrome не работала. См. ошибку 952834.", "С версии 80 по 85 линейные PDF-файлы, предоставляемые встраиваемо, с этим заголовком отображались неправильно. См. ошибку 1074261. С версии 86 частичная загрузка PDF отключена."]
Нет
Нет
12
11.0

См. также

  • Cross-Origin-Resource-Policy Заголовок HTTP

© 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/Cross-Origin_Resource_Policy_(CORP)

Spec-Zone.ru

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