Заголовки: CSP.upgrade-insecure-requests
Content-Security-Policy: директива upgrade-insecure-requests
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с апреля 2018 года.
Директива HTTP Content-Security-Policy (CSP) upgrade-insecure-requests указывает пользовательским агентам считать все небезопасные URL-адреса сайта (обслуживаемые через HTTP) заменёнными безопасными URL-адресами (обслуживаемыми через HTTPS). Эта директива предназначена для сайтов с большим количеством устаревших небезопасных URL-адресов, которые необходимо переписать.
Директива upgrade-insecure-requests не гарантирует, что пользователи, переходящие на ваш сайт по ссылкам со сторонних сайтов, будут перенаправлены на HTTPS при навигации верхнего уровня, и поэтому не заменяет заголовок Strict-Transport-Security (HSTS). Этот заголовок по-прежнему следует устанавливать с подходящим значением max-age, чтобы защитить пользователей от атак с понижением уровня SSL.
Синтаксис
Content-Security-Policy: upgrade-insecure-requests;
Примеры
>Использование заголовка HTTP
Content-Security-Policy: upgrade-insecure-requests;
Использование HTML-элемента meta
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
Если указанный выше заголовок установлен для домена example.com, который планирует перейти с HTTP на HTTPS, небезопасные запросы ресурсов, не связанные с навигацией, будут автоматически перенаправлены (как собственные, так и сторонние запросы).
<img src="http://example.com/image.png" /> <img src="http://not-example.com/image.png" />
Эти URL-адреса будут переписаны до отправки запроса, то есть в сеть не попадёт ни одного небезопасного запроса. Обратите внимание: если запрашиваемый ресурс недоступен по HTTPS, запрос завершится ошибкой без перехода на HTTP.
<img src="https://example.com/image.png" /> <img src="https://not-example.com/image.png" />
Перенаправление навигации к сторонним ресурсам может привести к значительно большему числу сбоев, поэтому такие запросы не перенаправляются:
<a href="https://example.com/">Home</a> <a href="http://not-example.com/">Home</a>
Поиск небезопасных запросов
С помощью заголовка Content-Security-Policy-Report-Only и директивы report-uri можно настроить применяемую политику и политику для отчётов, например так:
Content-Security-Policy: upgrade-insecure-requests; default-src https: Content-Security-Policy-Report-Only: default-src https:; report-uri /endpoint
Таким образом, на защищённом сайте небезопасные запросы по-прежнему перенаправляются, но нарушается только политика мониторинга, которая отправляет сведения о небезопасных ресурсах на вашу конечную точку.
Спецификации
| Спецификация |
|---|
| Обновление небезопасных запросов> # доставка> |
Совместимость с браузерами
| Для компьютеров | Для мобильных устройств | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari в iOS | Samsung Internet | WebView для Android | WebView в iOS | |
upgrade-insecure-requests |
43 | 17 | 42 | 30 | 10.1 | 43 | 42 | 30 | 10.3 | 4.0 | 43 | 10.3 |
См. также
Content-Security-Policy-
Заголовок
Upgrade-Insecure-Requests -
Заголовок
Strict-Transport-Security(HSTS) - Смешанное содержимое
© 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/Content-Security-Policy/upgrade-insecure-requests