Назад к блогу
Платформа

Referrer-Policy для согласованной конфиденциальной навигации

Проверяйте фактический Referer для одного и разных источников, HTTPS→HTTP и цепочек перенаправлений.

BotBrowser Team

Документация

Нужна структурированная документация по теме Платформа?

Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.

При неожиданной передаче пути проверяйте реальный запрос. Современное strict-origin-when-cross-origin сохраняет полный URL для одного источника, обычно оставляет только источник при переходе HTTPS между источниками и не отправляет Referer при понижении HTTPS до HTTP. BotBrowser повторяет разрешённый профиль, но не меняет политику браузера и не видит журналы удалённого сервера.

Нейтральная схема: полный Referer внутри источника, сокращённый между источниками и блокировка HTTPS к HTTP.

Кратко

  • Referrer-Policy управляет значением, а поле запроса исторически называется Referer.
  • Политика различает один источник, другой источник и понижение безопасности.
  • Каждый redirect создаёт новый запрос и проверяется отдельно.
  • no-referrer скрывает даже источник; секреты нельзя помещать в URL.
  • BotBrowser воспроизводит условия, но не гарантирует хранение сервером.

Содержание

Политика и сетевое поле

no-referrer ничего не отправляет, same-origin ограничивает отправку своим источником, origin оставляет схему, хост и порт, а strict-origin-when-cross-origin оставляет полный URL только внутри источника. unsafe-url может раскрыть путь и query и не подходит для чувствительных данных. Referer - историческое написание поля HTTP.

Контролируемый тест

Создайте два HTTPS-источника и собственный HTTP endpoint с синтетическими URL. Запишите политику ответа, версию браузера и каждый заголовок:

const seen = [];
page.on('request', request => {
  if (request.url().includes('/referrer-observation'))
    seen.push({ url: request.url(), referer: request.headers().referer ?? null });
});
await page.goto('https://source.example.test/start');
await page.getByRole('link', { name: 'cross-origin' }).click();

Ожидайте полный URL внутри источника, только https://source.example.test/ между HTTPS-источниками и отсутствие Referer при HTTPS→HTTP при эффективной современной политике.

Источники, понижение и перенаправления

Источник состоит из схемы, хоста и порта. Изменение пути его не меняет; изменение любого элемента меняет. «Один сайт» не равен «одному источнику». При redirect браузер вычисляет Referer заново, поэтому цепочка может сократить путь или убрать поле.

Матрица решений

НаблюдениеОсторожное объяснениеДействие
Полный путь внутри источникаРазрешена локальная детализацияУберите секреты из пути
Только источник по HTTPSСокращение работаетПроверьте необходимость для получателя
Нет поля HTTPS→HTTPПонижение защищеноСохраняйте HTTPS
Разные значения на hopsКаждый hop оценён отдельноЗапишите каждый ответ
Поле неожиданно отсутствуетЕго подавила политика или режимПовторите минимальный тест

Referer не доказывает личность, а политика не удаляет уже созданные журналы. BotBrowser позволяет повторить разрешённую навигацию в объявленном профиле и сохранить ограниченные наблюдения, но не может менять политику, раскрывать чужие журналы или подтверждать срок хранения.

Итог

Задайте эффективную политику, проверьте один источник, другой источник, HTTPS→HTTP и redirect на синтетических URL, затем наблюдайте фактический Referer. Удалите секреты из URL и сохраняйте HTTPS.

Следующий безопасный шаг - проверить эти четыре пути на синтетических URL и удалить секреты из адресов.

FAQ

Почему написано Referer?

Это историческое имя HTTP-поля; название политики использует правильное Referrer.

origin скрывает сайт?

Нет. Он скрывает путь и query, но может отправить схему, хост и порт. Для этого используйте no-referrer.

Redirect возвращает полный URL?

Нет. Каждый запрос оценивается отдельно и не добавляет сведения задним числом.

Меняет ли BotBrowser заголовок?

Он воспроизводит сценарий для измерения; итог задают браузер, сеть и сервер.

Дальше

Источники

Синтетические источники примера включают https://source.example.test/`, https://source.example.test/start', https://old.example.test/account/overview`, https://new.example.test/home`, и https://source.example.test/`、HTTPS.

#Referrer-Policy#Заголовок Referer#Приватность#Один Источник#Между Источниками

Переведите BotBrowser из исследований в продакшн

Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.