Узнайте больше о заголовках, которые могут обеспечить безопасность вашего сайта и помочь быстро найти наиболее важную информацию.
В этой статье перечислены наиболее важные заголовки безопасности, которые вы можете использовать для защиты своего веб-сайта. Используйте её, чтобы понять функции веб-безопасности, узнать, как внедрить их на свой сайт, а также в качестве справочника, когда вам понадобится напоминание.
- Рекомендуемые заголовки безопасности для веб-сайтов, обрабатывающих конфиденциальные данные пользователей:
- Политика безопасности контента (CSP)
- Доверенные типы
- Рекомендуемые заголовки безопасности для всех веб-сайтов:
- X-Content-Type-Options
- X-Frame-Options
- Политика межрегионального доступа к ресурсам (CORP)
- Политика открытия межстрановых соединений (COOP)
- HTTP Strict Transport Security (HSTS)
- Заголовки безопасности для веб-сайтов с расширенными возможностями:
- Междоменный обмен ресурсами (CORS)
- Политика внедрения перекрестного происхождения (COEP)
Прежде чем углубляться в тему заголовков безопасности, изучите известные угрозы в интернете и причины, по которым вам может понадобиться использовать эти заголовки.
Защитите свой сайт от уязвимостей внедрения кода.
Уязвимости внедрения возникают, когда ненадежные данные, обрабатываемые вашим приложением, могут повлиять на его поведение и, как правило, привести к выполнению скриптов, управляемых злоумышленником. Наиболее распространенной уязвимостью, вызванной ошибками внедрения, является межсайтовый скриптинг (XSS) в различных его формах, включая отраженный XSS , хранимый XSS , XSS на основе DOM и другие варианты.
Уязвимость XSS обычно предоставляет злоумышленнику полный доступ к пользовательским данным, обрабатываемым приложением, а также к любой другой информации, размещенной в том же веб-источнике .
Традиционные методы защиты от инъекций включают в себя последовательное использование систем автоматического экранирования HTML-шаблонов, избегание использования опасных API JavaScript и надлежащую обработку пользовательских данных путем размещения загружаемых файлов на отдельном домене и очистки контролируемого пользователем HTML-кода.
- Используйте политику безопасности контента (CSP) , чтобы контролировать, какие скрипты могут быть выполнены вашим приложением, и снизить риск внедрения вредоносного кода.
- Используйте доверенные типы (Trusted Types) для обеспечения проверки и очистки данных, передаваемых в опасные JavaScript API.
- Используйте X-Content-Type-Options , чтобы предотвратить неправильное толкование браузером MIME-типов ресурсов вашего веб-сайта, что может привести к выполнению скриптов.
Изолируйте свой сайт от других веб-сайтов.
Открытость сети позволяет веб-сайтам взаимодействовать друг с другом способами, которые могут нарушать ожидания приложения в отношении безопасности. Это включает в себя неожиданные запросы с подтверждением подлинности или внедрение данных из другого приложения в документ злоумышленника, что позволяет злоумышленнику изменять или читать данные приложения.
К распространенным уязвимостям, подрывающим веб-изоляцию, относятся кликджекинг , межсайтовая подделка запросов (CSRF), межсайтовое включение скриптов (XSSI) и различные межсайтовые утечки .
- Используйте X-Frame-Options , чтобы предотвратить встраивание ваших документов вредоносными веб-сайтами.
- Используйте политику доступа к ресурсам из других источников (CORP) , чтобы предотвратить включение ресурсов вашего веб-сайта в ресурсы других веб-сайтов.
- Используйте политику открытия сайтов из разных источников (COOP) , чтобы защитить окна вашего сайта от взаимодействия со стороны вредоносных веб-сайтов.
- Используйте протокол CORS (Cross-Origin Resource Sharing) для контроля доступа к ресурсам вашего веб-сайта из документов, размещенных в разных источниках.
Книга "Post-Spectre Web Development" — отличное чтение, если вас интересуют эти заголовочные файлы.
Создайте мощный веб-сайт безопасно
Уязвимость Spectre делает любые данные, загруженные в одну и ту же группу контекстов просмотра, потенциально доступными для чтения, несмотря на политику ограничения доступа по одному источнику . Браузеры ограничивают функции, которые могут использовать эту уязвимость, за счет специальной среды, называемой « междоменная изоляция ». Благодаря междоменной изоляции можно использовать такие мощные функции, как SharedArrayBuffer .
- Используйте политику встраивания из разных источников (COEP) вместе с COOP для обеспечения изоляции между источниками.
Шифрование трафика на ваш сайт
Проблемы с шифрованием возникают, когда приложение не полностью шифрует данные при передаче, что позволяет злоумышленникам, осуществляющим перехват, узнать о взаимодействии пользователя с приложением.
Недостаточное шифрование может возникнуть в следующих случаях: неиспользование HTTPS, смешанный контент , установка файлов cookie без атрибута Secure (или префикса __Secure ) или нестрогая логика проверки CORS .
- Используйте протокол HTTP Strict Transport Security (HSTS) для стабильной передачи контента по протоколу HTTPS.
Политика безопасности контента (CSP)
Межсайтовый скриптинг (XSS) — это атака, при которой уязвимость на веб-сайте позволяет внедрить и выполнить вредоносный скрипт.
Content-Security-Policy обеспечивает дополнительный уровень защиты от XSS-атак, ограничивая выполнение скриптов на странице.
Рекомендуется включить строгий CSP, используя один из следующих способов:
- Если вы генерируете HTML-страницы на сервере, используйте строгую политику конфиденциальности (CSP) на основе одноразовых чисел (nonce) .
- Если ваш HTML-код должен отображаться статически или кэшироваться, например, если это одностраничное приложение, используйте строгую политику конфиденциальности на основе хешей .
Пример использования: CSP на основе одноразового кода (nonce).
Content-Security-Policy:
script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline';
object-src 'none';
base-uri 'none';
Рекомендуемые способы применения
1. Используйте строгую CSP на основе nonce {: #nonce-based-csp}
Если вы генерируете HTML-страницы на сервере, используйте строгую политику конфиденциальности (CSP) на основе одноразовых чисел (nonce) .
Для каждого запроса на стороне сервера генерируйте новое значение nonce скрипта и устанавливайте следующий заголовок:
файл конфигурации сервера
Content-Security-Policy: script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline'; object-src 'none'; base-uri 'none';
В HTML для загрузки скриптов установите атрибут nonce для всех тегов <script> на одну и ту же строку {RANDOM1} .
index.html
<script nonce="{RANDOM1}" src="https://example.com/script1.js"></script>
<script nonce="{RANDOM1}">
// Inline scripts can be used with the <code>nonce</code> attribute.
</script>Google Photos — хороший пример строгой политики конфиденциальности на основе одноразовых чисел (nonce). Используйте инструменты разработчика, чтобы посмотреть, как это используется.
2. Используйте строгую CSP на основе хеширования {: #hash-based-csp}
Если ваш HTML-код должен отображаться статически или кэшироваться, например, при разработке одностраничного приложения, используйте строгую политику конфиденциальности на основе хешей .
файл конфигурации сервера
Content-Security-Policy: script-src 'sha256-{HASH1}' 'sha256-{HASH2}' 'strict-dynamic' https: 'unsafe-inline'; object-src 'none'; base-uri 'none';
В HTML для применения политики на основе хеширования вам потребуется встраивать скрипты непосредственно в код, поскольку большинство браузеров не поддерживают хеширование внешних скриптов .
index.html
<script> ...// your script1, inlined </script> <script> ...// your script2, inlined </script>
Для загрузки внешних скриптов ознакомьтесь с разделом «Динамическая загрузка исходных скриптов» в подразделе «Вариант B: Хэш-заголовок ответа CSP» .
CSP Evaluator — это хороший инструмент для оценки вашей CSP, а также хороший пример строгой CSP на основе nonce. Используйте DevTools, чтобы посмотреть, как его использовать.
Поддерживаемые браузеры
Другие важные моменты, касающиеся CSP.
- Директива
frame-ancestorsзащищает ваш сайт от кликджекинга — риска, который возникает, если вы разрешаете ненадежным сайтам встраивать ваш контент. Если вы предпочитаете более простое решение, вы можете использоватьX-Frame-Optionsдля блокировки загрузки, ноframe-ancestorsпредоставляет расширенную конфигурацию, позволяющую разрешать встраивание только с определенных источников. - Возможно, вы использовали CSP (Content Security Policy), чтобы гарантировать загрузку всех ресурсов вашего сайта по протоколу HTTPS . Однако сейчас это стало менее актуальным: большинство браузеров блокируют смешанный контент .
- Также можно настроить CSP в режиме только для создания отчетов .
- Если вы не можете установить CSP в качестве заголовка на стороне сервера, вы также можете установить его в качестве метатега. Обратите внимание, что вы не можете использовать режим только для отчетов для метатегов (хотя это может измениться ).
Узнать больше
Доверенные типы
XSS на основе DOM — это атака, при которой вредоносные данные передаются в приемник, поддерживающий динамическое выполнение кода, например, с помощью eval() или .innerHTML .
Доверенные типы предоставляют инструменты для написания, проверки безопасности и поддержки приложений, защищенных от DOM XSS. Их можно включить через CSP , и они делают JavaScript-код безопасным по умолчанию, ограничивая опасные веб-API возможностью приема только специального объекта — доверенного типа.
Для создания таких объектов можно определить политики безопасности, которые гарантируют последовательное применение правил безопасности (таких как экранирование или очистка) до записи данных в DOM. В этом случае эти политики являются единственными местами в коде, которые потенциально могут привести к DOM XSS-атакам.
Примеры использования
Content-Security-Policy: require-trusted-types-for 'script'
// Feature detection
if (window.trustedTypes && trustedTypes.createPolicy) {
// Name and create a policy
const policy = trustedTypes.createPolicy('escapePolicy', {
createHTML: str => {
return str.replace(/\</g, '<').replace(/>/g, '>');
}
});
}
// Assignment of raw strings is blocked by Trusted Types.
el.innerHTML = 'some string'; // This throws an exception.
// Assignment of Trusted Types is accepted safely.
const escaped = policy.createHTML('<img src=x onerror=alert(1)>');
el.innerHTML = escaped; // '&lt;img src=x onerror=alert(1)&gt;'
Рекомендуемые способы применения
Внедрение протокола CSP и заголовка Trusted Types для опасных DOM-приемников:
Content-Security-Policy: require-trusted-types-for 'script'В настоящее время единственным допустимым значением для директивы
require-trusted-types-forявляется'script'.Разумеется, вы можете комбинировать доверенные типы с другими директивами CSP:
Объединение CSP на основе одноразовых чисел, описанного выше, с доверенными типами:
Content-Security-Policy:
script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline';
object-src 'none';
base-uri 'none';
require-trusted-types-for 'script';
<aside class="note"><b>Примечание:</b> Вы можете ограничить количество разрешенных имен политик доверенных типов, установив дополнительную директиву <code>trusted-types</code> (например, <code>trusted-types myPolicy</code>). Однако это не является обязательным требованием. </aside>
Определите политику
Политика:
// Feature detection if (window.trustedTypes && trustedTypes.createPolicy) { // Name and create a policy const policy = trustedTypes.createPolicy('escapePolicy', { createHTML: str => { return str.replace(/\/g, '>'); } }); }
Примените политику
При записи данных в DOM используйте эту политику:
// Assignment of raw strings are blocked by Trusted Types. el.innerHTML = 'some string'; // This throws an exception.</p> <p>// Assignment of Trusted Types is accepted safely. const escaped = policy.createHTML('<img src="x" onerror="alert(1)">'); el.innerHTML = escaped; // '<img src=x onerror=alert(1)>'
При использовании
require-trusted-types-for 'script', использование доверенного типа является обязательным. Использование любого опасного DOM API со строкой приведет к ошибке.
Поддерживаемые браузеры
Узнать больше
- Предотвратите уязвимости межсайтового скриптинга на основе DOM с помощью Trusted Types.
- CSP: require-trusted-types-for - HTTP | MDN
- CSP: доверенные типы - HTTP | MDN
- Демонстрация Trusted Types — откройте инспектор инструментов разработчика и посмотрите, что происходит.
X-Content-Type-Options
Когда вредоносный HTML-документ загружается с вашего домена (например, если изображение, загруженное в фотосервис, содержит допустимую HTML-разметку), некоторые браузеры будут рассматривать его как активный документ и позволять ему выполнять скрипты в контексте приложения, что приведет к уязвимости межсайтового скриптинга .
X-Content-Type-Options: nosniff предотвращает это, сообщая браузеру, что MIME-тип, указанный в заголовке Content-Type для данного ответа, является правильным. Этот заголовок рекомендуется использовать для всех ваших ресурсов .
Пример использования
X-Content-Type-Options: nosniff
Рекомендуемые способы применения
Рекомендуется использовать X-Content-Type-Options: nosniff для всех ресурсов, предоставляемых вашим сервером, вместе с правильным заголовком Content-Type .

Примеры заголовков, отправляемых вместе с HTML-документом.
X-Content-Type-Options: nosniff Content-Type: text/html; charset=utf-8
Поддерживаемые браузеры
Узнать больше
X-Frame-Options
Если вредоносный веб-сайт может встроить ваш сайт в iframe, это может позволить злоумышленникам вызывать непредусмотренные действия пользователя с помощью кликджекинга . Кроме того, в некоторых случаях атаки типа Spectre дают вредоносным веб-сайтам возможность узнать содержимое встроенного документа.
X-Frame-Options указывает, разрешается ли браузеру отображать страницу в <frame> , <iframe> , <embed> или <object> . Всем документам рекомендуется отправлять этот заголовок, чтобы указать, разрешается ли их встраивание в другие документы.
Пример использования
X-Frame-Options: DENY
Рекомендуемые способы применения
Для всех документов, не предназначенных для встраивания, следует использовать заголовок X-Frame-Options .
В этой демонстрации вы можете проверить, как следующие настройки влияют на загрузку iframe. Измените значение в выпадающем меню X-Frame-Options и нажмите кнопку «Перезагрузить iframe» .
Защищает ваш веб-сайт от встраивания другими веб-сайтами.
Отрицаем внедрение данных в другие документы.

X-Frame-Options: DENYЗащищает ваш веб-сайт от встраивания с сайтов других доменов.
Разрешить встраивание только документов того же источника.
X-Frame-Options: SAMEORIGINПоддерживаемые браузеры
Узнать больше
Политика межрегионального доступа к ресурсам (CORP)
Злоумышленник может внедрять ресурсы из другого источника, например, с вашего сайта, чтобы получить информацию о них, используя уязвимости межсайтовых соединений (XSS) .
Заголовок Cross-Origin-Resource-Policy снижает этот риск, указывая набор веб-сайтов, с которых может быть загружен данный ресурс. Заголовок принимает одно из трех значений: same-origin , same-site и cross-origin . Всем ресурсам рекомендуется отправлять этот заголовок, чтобы указать, разрешают ли они загрузку с других веб-сайтов.
Пример использования
Cross-Origin-Resource-Policy: same-origin
Рекомендуемые способы применения
Рекомендуется, чтобы все ресурсы передавались с одним из следующих трех заголовков.
В этом демонстрационном примере вы можете проверить, как следующие настройки влияют на загрузку ресурсов в среде с Cross-Origin-Embedder-Policy: require-corp . Измените значение в раскрывающемся меню Cross-Origin-Resource-Policy и нажмите кнопку «Перезагрузить iframe» или «Перезагрузить изображение» , чтобы увидеть результат.
Разрешить загрузку ресурсов cross-origin
Рекомендуется, чтобы сервисы, подобные CDN, применяли cross-origin к ресурсам (поскольку они обычно загружаются страницами из других источников), если только они уже не обслуживаются через CORS , который имеет аналогичный эффект.

Cross-Origin-Resource-Policy: cross-origin Ограничьте загрузку ресурсов из same-origin
same-origin следует применять к ресурсам, предназначенным для загрузки только страницами с тем же источником. Это следует применять к ресурсам, содержащим конфиденциальную информацию о пользователе, или к ответам API, которые предназначены для вызова только с того же источника.
Имейте в виду, что ресурсы с этим заголовком по-прежнему могут загружаться напрямую, например, при переходе по URL-адресу в новом окне браузера. Политика межсайтовой защиты ресурсов (Cross-Origin Resource Policy) защищает ресурс только от встраивания другими веб-сайтами.

Cross-Origin-Resource-Policy: same-origin Ограничьте загрузку ресурсов с same-site
Рекомендуется применять same-site к ресурсам, аналогичным описанным выше, но предназначенным для загрузки другими поддоменами вашего сайта.

Cross-Origin-Resource-Policy: same-siteПоддерживаемые браузеры
Узнать больше
Политика открытия межстрановых соединений (COOP)
Веб-сайт злоумышленника может открывать другой сайт во всплывающем окне, чтобы получить информацию о нём, используя уязвимости межсайтовых утечек (XSS) . В некоторых случаях это также может позволить использовать атаки по побочным каналам, основанные на уязвимости Spectre .
Заголовок Cross-Origin-Opener-Policy позволяет документу изолироваться от окон, открываемых из других источников через window.open() или ссылку с target="_blank" без rel="noopener" . В результате любой пользователь, открывающий документ из другого источника, не будет иметь на него ссылки и не сможет с ним взаимодействовать.
Пример использования
Cross-Origin-Opener-Policy: same-origin-allow-popups
Рекомендуемые способы применения
В этой демонстрации вы можете проверить, как следующие настройки влияют на взаимодействие с всплывающим окном, открываемым из другого источника. Измените параметры в раскрывающемся меню Cross-Origin-Opener-Policy как для документа, так и для всплывающего окна, нажмите кнопку « Открыть всплывающее окно», а затем нажмите «Отправить postMessage», чтобы проверить, действительно ли сообщение доставлено.
Изолировать документ от окон, находящихся в разных источниках.
Установка параметра same-origin изолирует документ от окон документов, находящихся в других источниках.

Cross-Origin-Opener-Policy: same-originИзолируйте документ от окон, расположенных в других источниках, но разрешите всплывающие окна.
Параметр same-origin-allow-popups позволяет документу сохранять ссылку на свои всплывающие окна, если только в COOP не задан параметр same-origin или same-origin-allow-popups . Это означает, что same-origin-allow-popups может защитить документ от ссылок при открытии в виде всплывающего окна, но при этом позволить ему взаимодействовать со своими собственными всплывающими окнами.

Cross-Origin-Opener-Policy: same-origin-allow-popupsРазрешить ссылки на документ в окнах Windows, работающих в разных источниках.
unsafe-none является значением по умолчанию, но вы можете явно указать, что этот документ может быть открыт окном из другого источника с сохранением взаимного доступа.

Cross-Origin-Opener-Policy: unsafe-noneШаблоны отчетов, несовместимые с COOP
Вы можете получать отчеты, даже если COOP блокирует взаимодействие между окнами с API отчетов.
Cross-Origin-Opener-Policy: same-origin; report-to="coop"COOP также поддерживает режим только для отчетов, поэтому вы можете получать отчеты, не блокируя при этом обмен данными между документами из разных источников.
Cross-Origin-Opener-Policy-Report-Only: same-origin; report-to="coop"Поддерживаемые браузеры
Узнать больше
Междоменный обмен ресурсами (CORS)
В отличие от других элементов этой статьи, протокол CORS (Cross-Origin Resource Sharing) — это не заголовок, а механизм браузера, который запрашивает и разрешает доступ к ресурсам из других источников.
По умолчанию браузеры применяют политику одного источника (Same-origin policy) , чтобы предотвратить доступ веб-страницы к ресурсам из других источников. Например, когда загружается изображение из другого источника, даже если оно отображается на веб-странице визуально, JavaScript на странице не имеет доступа к данным изображения. Поставщик ресурсов может ослабить ограничения и разрешить другим веб-сайтам читать ресурс, включив CORS.
Пример использования
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true
Прежде чем рассматривать настройку CORS, полезно понять разницу между типами запросов. В зависимости от деталей запроса, он будет классифицирован как простой запрос или как предварительный запрос .
Критерии для простой просьбы:
- Метод —
GET,HEADилиPOST. - Пользовательские заголовки включают только
Accept,Accept-Language,Content-LanguageиContent-Type. -
Content-Typeможет бытьapplication/x-www-form-urlencoded,multipart/form-dataилиtext/plain.
Все остальные запросы классифицируются как предварительные. Для получения более подробной информации см. статью «Cross-Origin Resource Sharing (CORS) - HTTP | MDN» .
Рекомендуемые способы применения
Простая просьба
Когда запрос соответствует простым критериям запроса, браузер отправляет междоменный запрос с заголовком Origin , указывающим на источник запроса.
Пример заголовка запроса
Get / HTTP/1.1 Origin: https://example.com
Пример заголовка ответа
Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://example.comуказывает, чтоhttps://example.comможет получить доступ к содержимому ответа. Ресурсы, предназначенные для чтения любым сайтом, могут установить этот заголовок в значение*, в этом случае браузеру потребуется только отправить запрос без учетных данных .-
Access-Control-Allow-Credentials: trueуказывает, что запросы, содержащие учетные данные (cookie), разрешают загрузку ресурса. В противном случае аутентифицированные запросы будут отклонены, даже если источник запроса указан в заголовкеAccess-Control-Allow-Origin.
В этой демонстрации вы можете попробовать, как простой запрос влияет на загрузку ресурсов в среде с Cross-Origin-Embedder-Policy: require-corp . Установите флажок Cross-Origin Resource Sharing и нажмите кнопку Reload the image , чтобы увидеть эффект.
Предварительно обработанные запросы
Предварительный запрос предваряется запросом OPTIONS для проверки разрешения на отправку последующего запроса.
Пример заголовка запроса
OPTIONS / HTTP/1.1 Origin: https://example.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-PINGOTHER, Content-Type
Access-Control-Request-Method: POSTпозволяет отправлять следующие запросы с использованием методаPOST.-
Access-Control-Request-Headers: X-PINGOTHER, Content-Typeпозволяют запрашивающей стороне установить заголовки HTTPX-PINGOTHERиContent-Typeв последующем запросе.
Примеры заголовков ответа
Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: POST, GET, OPTIONS Access-Control-Allow-Headers: X-PINGOTHER, Content-Type Access-Control-Max-Age: 86400
Access-Control-Allow-Methods: POST, GET, OPTIONSуказывает, что последующие запросы могут выполняться с использованием методовPOST,GETиOPTIONS.-
Access-Control-Allow-Headers: X-PINGOTHER, Content-Typeуказывают, что последующие запросы могут включать заголовкиX-PINGOTHERиContent-Type. -
Access-Control-Max-Age: 86400указывает, что результат предварительного запроса может храниться в кэше в течение 86400 секунд.
Поддерживаемые браузеры
Узнать больше
Политика внедрения перекрестного происхождения (COEP)
Чтобы уменьшить вероятность кражи междоменных ресурсов при атаках с использованием уязвимости Spectre , такие функции, как SharedArrayBuffer или performance.measureUserAgentSpecificMemory() по умолчанию отключены.
Cross-Origin-Embedder-Policy: require-corp предотвращает загрузку ресурсов из разных источников, таких как изображения, скрипты, таблицы стилей, iframe и другие, документами и рабочими процессами, если эти ресурсы явно не настроены на загрузку через заголовки CORS или CORP . COEP можно комбинировать с Cross-Origin-Opener-Policy , чтобы включить изоляцию документа от других источников .
Используйте Cross-Origin-Embedder-Policy: require-corp если хотите включить междоменную изоляцию для вашего документа.
Пример использования
Cross-Origin-Embedder-Policy: require-corp
Примеры использования
Заголовок COEP принимает одно значение require-corp . Отправляя этот заголовок, вы можете указать браузеру блокировать загрузку ресурсов, которые не дали согласия на использование CORS или CORP .

В этой демонстрации вы можете попробовать, как следующие настройки влияют на загрузку ресурсов. Измените параметры в раскрывающемся меню Cross-Origin-Embedder-Policy , в раскрывающемся меню Cross-Origin-Resource-Policy , установите флажок « Только отчет» и т.д., чтобы увидеть, как они влияют на загрузку ресурсов. Также откройте демонстрационный пример конечной точки отчетности , чтобы проверить, отображаются ли заблокированные ресурсы.
Включить междоменную изоляцию
Включите междоменную изоляцию , отправив Cross-Origin-Embedder-Policy: require-corp вместе с Cross-Origin-Opener-Policy: same-origin .
Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Opener-Policy: same-origin
Сообщайте о ресурсах, несовместимых с COEP.
С помощью API для создания отчетов вы можете получать отчеты о заблокированных ресурсах, вызванных COEP.
Cross-Origin-Embedder-Policy: require-corp; report-to="coep"COEP также поддерживает режим только для отчетов, поэтому вы можете получать отчеты, не блокируя при этом загрузку ресурсов.
Cross-Origin-Embedder-Policy-Report-Only: require-corp; report-to="coep"Поддерживаемые браузеры
Узнать больше
HTTP Strict Transport Security (HSTS)
Передача данных по обычному HTTP-соединению не шифруется, что делает передаваемые данные доступными для злоумышленников, осуществляющих прослушивание на сетевом уровне.
Заголовок Strict-Transport-Security сообщает браузеру, что он никогда не должен загружать сайт по протоколу HTTP, а вместо этого должен использовать HTTPS. После установки этого заголовка браузер будет использовать HTTPS вместо HTTP для доступа к домену без перенаправления в течение времени, указанного в заголовке.
Пример использования
Strict-Transport-Security: max-age=31536000
Рекомендуемые способы применения
Все веб-сайты, переходящие с HTTP на HTTPS, должны отвечать заголовком Strict-Transport-Security при получении запроса по протоколу HTTP.
Strict-Transport-Security: max-age=31536000