Прежде чем начать:
- Если вы не уверены в разнице между "site" и "origin", ознакомьтесь со статьей "Understanding "same-site" and "same-origin" .
- В заголовке
Refererотсутствует буква R из-за первоначальной орфографической ошибки в спецификации. ЗаголовокReferrer-Policyиreferrerв JavaScript и DOM написаны правильно.
Краткое содержание
- Браузеры развиваются в сторону политик по умолчанию, повышающих конфиденциальность, чтобы обеспечить надежный резервный вариант, когда у веб-сайта нет установленных политик.
- В Chrome планируется постепенно включить
strict-origin-when-cross-originв качестве политики по умолчанию в версии 85; это может повлиять на сценарии использования, зависящие от значения реферера из другого источника. - Это новый вариант по умолчанию, но веб-сайты по-прежнему могут выбирать политику по своему усмотрению.
- Чтобы опробовать изменения в Chrome, включите флаг по адресу
chrome://flags/#reduced-referrer-granularity. Вы также можете посмотреть эту демонстрацию , чтобы увидеть изменения в действии. - Помимо политики в отношении рефереров, способ обработки рефереров браузерами может измениться — поэтому следите за этим.
Что меняется и почему?
HTTP-запросы могут включать необязательный заголовок Referer , указывающий источник или URL-адрес веб-страницы, с которой был сделан запрос. Заголовок Referer-Policy определяет, какие данные доступны в заголовке Referer , а также для навигации и iframe в document.referrer целевого объекта.
Точный перечень информации, отправляемой в заголовке Referer в запросе с вашего сайта, определяется заголовком Referrer-Policy который вы устанавливаете.

Если никакая политика не задана, используется политика браузера по умолчанию. Веб-сайты часто руководствуются политикой браузера по умолчанию.
Для навигации и iframe данные, содержащиеся в заголовке Referer также можно получить через JavaScript, используя document.referrer .
До недавнего времени политика no-referrer-when-downgrade была широко распространена по умолчанию во всех браузерах. Но сейчас многие браузеры находятся на той или иной стадии перехода к более конфиденциальным настройкам по умолчанию .
Начиная с версии 85 , Chrome планирует изменить свою политику по умолчанию с no-referrer-when-downgrade на strict-origin-when-cross-origin
Это означает, что если для вашего веб-сайта не задана никакая политика, Chrome по умолчанию будет использовать strict-origin-when-cross-origin . Обратите внимание, что вы по-прежнему можете установить политику по своему выбору; это изменение повлияет только на веб-сайты, для которых политика не задана.
Что означает это изменение?
Политика strict-origin-when-cross-origin обеспечивает более высокий уровень конфиденциальности . При использовании этой политики в заголовке Referer междоменных запросов отправляется только информация об источнике .
Это предотвращает утечку конфиденциальных данных, которые могут быть доступны из других частей полного URL-адреса, таких как путь и строка запроса.

Например:
Междоменный запрос, отправленный с https://site-one.example/stuff/detail ?tag=red на https://site-two.example/…:
- При использовании
no-referrer-when-downgrade: Referer: https://site-one.example/stuff/detail ?tag=red . - С
strict-origin-when-cross-origin: Referer: https://site-one.example/.
Что остаётся неизменным?
- Подобно
no-referrer-when-downgrade,strict-origin-when-cross-originявляется безопасным : при запросе с HTTPS-источника (безопасный) к HTTP-источнику (небезопасный) отсутствует реферер (заголовокRefererиdocument.referrer). Таким образом, если ваш веб-сайт использует HTTPS ( если нет, сделайте это приоритетом ), URL-адреса вашего веб-сайта не будут просачиваться в запросы без HTTPS — потому что любой в сети может их увидеть, что подвергнет ваших пользователей атакам типа «человек посередине». - В пределах одного источника значение заголовка
Refererпредставляет собой полный URL-адрес.
Например: Запрос из одного источника, отправленный с https://site-one.example/stuff/detail ?tag=red на https://site-one.example/…:
- С
strict-origin-when-cross-origin: Referer: https://site-one.example/stuff/detail ?tag=red
Каковы последствия?
Судя по обсуждениям с другими браузерами и собственным экспериментам Chrome, проведенным в Chrome 84, ожидается, что видимые пользователям сбои будут минимальными .
При работе с серверными логами или аналитикой, для которых требуется полный URL-адрес источника перехода, снижение детализации этой информации, вероятно, негативно скажется на результатах.
Что вам нужно сделать?
Chrome планирует начать внедрение новой политики рефереров по умолчанию в версии 85 (июль 2020 года для бета-версии, август 2020 года для стабильной версии). См. статус в записи состояния Chrome .
Понять и выявить изменения
Чтобы понять, как новые настройки по умолчанию влияют на практику, вы можете посмотреть эту демонстрацию .
Вы также можете использовать эту демонстрацию, чтобы определить, какая политика применяется в запущенном вами экземпляре Chrome.
Протестируйте изменения и выясните, повлияет ли это на ваш сайт.
Вы уже можете опробовать это изменение, начиная с Chrome 81: перейдите в Chrome по chrome://flags/#reduced-referrer-granularity и включите флаг. Когда этот флаг включен, все веб-сайты без политики будут использовать новый флаг по умолчанию strict-origin-when-cross-origin .

Теперь вы можете проверить, как работает ваш веб-сайт и административная панель.
Ещё один способ выявить влияние — проверить, использует ли код вашего сайта реферер — либо через заголовок Referer входящих запросов на сервере, либо через document.referrer в JavaScript.
Некоторые функции вашего сайта могут перестать работать или вести себя по-другому, если вы используете в качестве источника рефереры запросов с другого источника (точнее, путь и/или строку запроса), И этот источник использует политику рефереров браузера по умолчанию (то есть, для него не установлена никакая политика).
Если это негативно сказывается на вашем сайте, рассмотрите альтернативные варианты.
Если вы используете реферер для доступа к полному пути или строке запроса при обращении к вашему сайту, у вас есть несколько вариантов:
- Используйте альтернативные методы и заголовки, такие как
OriginиSec-fetch-Siteдля защиты от CSRF-атак, ведения журналов и других целей. Ознакомьтесь с рекомендациями по использованию Referer и Referrer-Policy . - При необходимости вы можете согласовать с партнерами конкретную политику, которая будет прозрачна для ваших пользователей. Контроль доступа — когда веб-сайты используют Referrer для предоставления определенного доступа к своим ресурсам другим источникам — может быть именно таким случаем, хотя после изменений в Chrome источник по-прежнему будет указан в заголовке
Referer(и вdocument.referrer).
Обратите внимание, что большинство браузеров движутся в аналогичном направлении в отношении параметра Referrer (см. настройки браузера по умолчанию и их эволюцию в разделе Referer и Referrer-Policy: лучшие практики ).
Внедрите на своем сайте четкую политику, повышающую уровень конфиденциальности.
Какой Referer следует отправлять в запросах, исходящих с вашего сайта, то есть какую политику следует установить для вашего сайта?
Даже с учетом изменений в Chrome, сейчас целесообразно установить явную политику, повышающую конфиденциальность, например, strict-origin-when-cross-origin или более строгую.
Это защищает ваших пользователей и делает работу вашего сайта более предсказуемой во всех браузерах. В основном, это дает вам контроль, вместо того чтобы ваш сайт зависел от настроек браузера по умолчанию.
Подробную информацию о настройке политики см. в разделах «Referrer» и «Referrer-Policy: лучшие практики» .
О компании Chrome Enterprise
Корпоративная политика Chrome ForceLegacyDefaultReferrerPolicy доступна ИТ-администраторам, которые хотели бы принудительно установить предыдущую политику по умолчанию для рефереров — no-referrer-when-downgrade в корпоративных средах. Это дает предприятиям дополнительное время для тестирования и обновления своих приложений.
Данная политика будет удалена в Chrome 88.
Отправить отзыв
У вас есть отзывы или сообщения, которыми вы хотели бы поделиться? Поделитесь своим мнением о планах Chrome по выпуску новых версий или задайте свои вопросы в Твиттере @maudnals .
Выражаю огромную благодарность всем рецензентам за их вклад и отзывы, особенно Каустубхе Говинд, Дэвиду Ван Кливу, Майку Весту, Сэму Даттону, Роуэну Меревуду, Джеку и Кейси Баскес.