Referrer-Policy для согласованной конфиденциальной навигации
Проверяйте фактический Referer для одного и разных источников, HTTPS→HTTP и цепочек перенаправлений.
BotBrowser Team
Нужна структурированная документация по теме Платформа?
Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.
При неожиданной передаче пути проверяйте реальный запрос. Современное strict-origin-when-cross-origin сохраняет полный URL для одного источника, обычно оставляет только источник при переходе HTTPS между источниками и не отправляет Referer при понижении HTTPS до HTTP. BotBrowser повторяет разрешённый профиль, но не меняет политику браузера и не видит журналы удалённого сервера.
Кратко
Referrer-Policyуправляет значением, а поле запроса исторически называетсяReferer.- Политика различает один источник, другой источник и понижение безопасности.
- Каждый redirect создаёт новый запрос и проверяется отдельно.
no-referrerскрывает даже источник; секреты нельзя помещать в URL.- BotBrowser воспроизводит условия, но не гарантирует хранение сервером.
Содержание
- Политика и сетевое поле
- Контролируемый тест
- Источники, понижение и перенаправления
- Матрица решений
- Заключение
- FAQ
Политика и сетевое поле
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.
Похожие статьи
Переведите BotBrowser из исследований в продакшн
Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.