Spec-Zone.ru › HTTP

Политика Cross-Origin-Opener

Политика Cross-Origin-Opener

Заголовок ответа HTTP Cross-Origin-Opener-Policy (COOP) позволяет гарантировать, что документ верхнего уровня не разделяет группу контекста просмотра с документами из других источников.

COOP изолирует ваш документ, и потенциальные злоумышленники не смогут получить доступ к вашему глобальному объекту, если они откроют его в всплывающем окне, предотвращая набор атак с разных источников, известных как XS-Leaks.

Если документ из другого источника с COOP открывается в новом окне, документ, открывший его, не будет иметь на него ссылки, и свойство window.opener нового окна будет null. Это позволяет вам иметь больший контроль над ссылками на окно, чем rel=noopener, который влияет только на исходящие переходы.

Тип заголовка Заголовок ответа
Запрещённое имя заголовка нет

Синтаксис

Cross-Origin-Opener-Policy: unsafe-none
Cross-Origin-Opener-Policy: same-origin-allow-popups
Cross-Origin-Opener-Policy: same-origin

Директивы

unsafe-none

Это значение по умолчанию. Разрешает добавление документа в группу контекста просмотра его открывающего окна, если у открывающего окна сам по себе нет COOP same-origin или same-origin-allow-popups.

same-origin-allow-popups

Сохраняет ссылки на вновь открытые окна или вкладки, которые либо не устанавливают COOP, либо исключают изоляцию, установив COOP unsafe-none.

same-origin

Изолирует контекст просмотра исключительно для документов из того же источника. Документы из других источников не загружаются в одном контексте просмотра.

Примеры

Отдельные функции зависят от изоляции разных источников

Отдельные функции, такие как объекты SharedArrayBuffer или таймеры без ограничения скорости Performance.now(), доступны только если у вашего документа есть заголовок COOP со значением same-origin.

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

Также необходимо установить заголовок Cross-Origin-Embedder-Policy.

Чтобы проверить, была ли успешна изоляция разных источников, вы можете проверить свойство crossOriginIsolated, доступное для контекстов окон и рабочих процессов:

if (crossOriginIsolated) {
  // Post SharedArrayBuffer
} else {
  // Do something else
}

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

Спецификация
HTML Стандарт
# the-coop-headers

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
Cross-Origin-Opener-Policy
83
83
79
Нет
Нет
15.2
Нет
83
79
Нет
15.2
13.0

См. также

  • Cross-Origin-Embedder-Policy

© 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/Headers/Cross-Origin-Opener-Policy

Spec-Zone.ru

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