21.04.2021

В Firefox 87 будет урезано содержимое HTTP-заголовка Referer

Компания Mozilla изменила метод формирования заголовка HTTP Referer в выпуске Firefox 87, намеченном на завтра. С целью блокирования потенциальных утечек конфиденциальных данных по умолчанию при переходе на другие сайты HTTP-заголовок Referer будет включать не полный URL источника, с которого осуществлён переход, а лишь домен. Путь и параметры запроса будут вырезаться. Т.е. вместо «Referer: https://www.example.com/путь/?аргументы» будет передан «Referer: https://www.example.com/». Начиная с Firefox 59 подобная чистка производилась в режиме приватного просмотра, а теперь будет распространена и на основной режим.

Новое поведение поможет предотвратить передачу лишних данных о пользователе рекламным сетям и прочим внешним ресурсам. В качестве примера приводятся некоторые медицинские сайты, в процессе показа рекламы на которых третьи лица могут получить сведения конфиденциального характера, такие как возраст и поставленный пациенту диагноз. При этом удаление деталей из Referer может негативно повлиять на сбор статистики о переходах владельцами сайтов, которые теперь не смогут точно определить адрес предыдущей страницы, например для понимания с какой именно статьи был совершён переход. Также может нарушится работа некоторых систем динамической генерации содержимого, выполняющих разбор ключей, которые привели к переходу из поисковой системы.

Для управления выставлением Referer предусмотрен HTTP-заголовок Referrer-Policy, при помощи которого владельцы сайтов могут переопределить поведение по умолчанию для переходов со своего сайта и вернуть указание в Referer полной информации. В настоящее время по умолчанию применяется политика «no-referrer-when-downgrade», при которой Referer не отправляется при переходе с HTTPS на HTTP, но передаётся в полной форме при загрузке ресурсов по HTTPS. Начиная с Firefox 87 начнёт действовать политика «strict-origin-when-cross-origin», подразумевающая вырезание путей и параметров при отправке запроса на другие хосты при обращении по HTTPS, удаление Referer при переходе с HTTPS на HTTP и передачу полного Referer для внутренних переходов в рамках одного сайта.

Изменение будет действовать для обычных навигационных запросов (переходов по ссылкам), автоматических редиректов и при загрузке внешних ресурсов (изображений, СSS, скриптов). В Chrome переход по умолчанию на «strict-origin-when-cross-origin» был осуществлён летом прошлого года.

Источник.