Source: https://bscan.info/ru/blog/can-websites-see-browsing-history
Language: ru

Список ваших посещённых сайтов страница получить не может. Referrer, трекеры и провайдер видят каждый свою часть. Запустите тест и узнайте, кто что видит.

# Могут ли сайты видеть историю браузера? Тест вживую

Опубликовано 12 ноября 2026 г.

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

Виджет на этой странице спрашивает ваш браузер, что он готов рассказать странице о том, где вы бывали. Почти ничего, и так задумано.

**Если коротко:** страница не может прочитать историю вашего браузера, то есть список сайтов, которые вы посещали. Приём, которым раньше её имитировали, проверка ссылок через `:visited`, закрывали поэтапно с 2010 года. Страница всё ещё может прочитать немногое: сайт, с которого вы пришли, сколько шагов назад доступно по кнопке «Назад» и собственные записи о вас. Остальную картину собирают трекеры, которые стоят на многих сайтах, и сети, по которым идёт ваш трафик.

## Ни один API не отдаёт вашу историю

Посмотрите, что `window.history` даёт скрипту: `back()`, `forward()`, `go()`, `pushState()`, `replaceState()`, `state`, `scrollRestoration` и `length`. Ничто из этого не возвращает адрес. `history.length` считает записи текущей вкладки и упирается в 50 в Chrome и Firefox (Safari хранит 100), так что о том, много ли вы просмотрели, он говорит мало.

Новый Navigation API, `navigation.entries()`, адреса возвращает, но только для записей текущей вкладки с тем же origin (схема, домен и порт), что и у страницы, и только непрерывную цепочку таких записей. Страница читает свой собственный след и ничей больше. В моём тесте на Chromium 156 я перешёл по ссылке с одного origin на эту страницу на другом: `history.length` показал 2, а `navigation.entries()` вернул одну запись, текущую страницу. Firefox и Safari я не проверял.

## Трюк с :visited и как он умер

Годами существовала лазейка. Браузеры красят посещённые ссылки другим цветом, а страница могла спросить, какого цвета получилась ссылка. Скрипт создавал невидимую ссылку на страницу входа в банк, читал её вычисленный цвет и знал, были ли вы там. Mozilla оценивала скорость в сотни тысяч ссылок в минуту, без запроса разрешения, и вы ничего не замечали.

В марте 2010 года [Mozilla объявила об исправлении](https://blog.mozilla.org/security/2010/03/31/plugging-the-css-history-leak/): `getComputedStyle` стал отвечать так, будто все ссылки не посещались, а посещённые ссылки можно оформлять лишь несколькими цветовыми свойствами. Сейчас так работают все крупные движки. Первая строка виджета показывает это. Она спрашивает про ссылку на страницу, которую вы читаете прямо сейчас, а вы её, разумеется, посетили, и браузер отвечает «нет».

Ложь про цвета закрывает только прямой путь. Исследователи продолжали находить побочные каналы, например атаку Пола Стоуна 2013 года, которая измеряет, сколько времени занимает перерисовка посещённой ссылки, и каждый канал требовал отдельной заплатки. Ответ Chrome, [доступный с версии 136](https://developer.chrome.com/blog/visited-links) на десктопе и Android, меняет место хранения посещений. Список посещённых ссылок перестал быть единым. Каждая запись хранится под тремя ключами: адрес ссылки, сайт верхнего уровня, на котором вы были, и фрейм, показавший ссылку. Страница на `blog.example`, проверяющая, были ли вы в банке, теперь обращается к другому ключу, чем тот, под которым сохранён ваш визит в банк, и ничего не находит.

Что узнает скрытая проверка ссылок

До Chrome 136, если сработает побочный канал

Ваши посещённые ссылки

-   `bank.example/login` открыта с bank.example
-   `news.example/story` открыта с поисковой страницы
-   `blog.example/post` открыта с blog.example

Страница на blog.example спрашивает про три ссылки

-   `bank.example/login` посещена: утечка
-   `news.example/story` посещена: утечка
-   `blog.example/post` посещена (сайт и так знал) его страница

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

Собственные страницы сайта по-прежнему отображаются как посещённые, откуда бы вы их ни открыли впервые, как и ссылки, по которым вы перешли с этого сайта. Это ничего нового не раскрывает, потому что сайт и так знает и то, и другое. Насколько я смог проверить, в Firefox и Safari аналога такого разделения нет, как нет его и у Chrome на iOS, который работает на WebKit. Правило 2010 года и само по себе не было герметичным: в [примечаниях к Safari 26.6](https://support.apple.com/en-us/128073) за июль 2026 года исправлена ошибка WebKit, из-за которой сайты могли узнать, посещали ли вы определённую ссылку.

## Что сайт может увидеть о вашем сёрфинге

**Referrer.** Если вы пришли из результатов поиска, страница может узнать, какой сайт вас направил. Начиная с Chrome 85 и Firefox 87 для переходов между разными origin по умолчанию отправляется только origin, то есть `https://www.google.com/`, а не ваш запрос, если только отправивший сайт не задал собственную политику. Safari тоже обрезает referrer при переходах между сайтами. В том же тесте на Chromium 156 страница, с которой я пришёл, имела длинный путь, а `document.referrer` вернул только её origin. Если вы набрали адрес или открыли закладку, значение пустое. Поэтому сайт, на который вы переходите, не видит, что вы искали: ваши запросы остаются у поисковой системы и в вашем аккаунте, а не на странице.

**Собственные записи сайта.** Это главное, и оно скучное. Сайт, поставивший cookie, когда вы заходили в прошлый вторник, узнает вас и в этот вторник. Это история одного сайта, а не всего интернета, и каждый сайт, который вы посещаете, ведёт такую о вас. Владелец сайта видит своих посетителей в аналитике: адреса страниц, IP-адреса и referrer. Дальше границ сайта эта картина не идёт.

**Несколько утечек по краям.** Межсайтовые приёмы иногда позволяют узнать, выполнен ли у вас вход где-то ещё: страница загружает что-то, что работает только для вошедших пользователей, и смотрит, что получилось. Всё семейство описано в [вики XS-Leaks](https://xsleaks.dev/). Такой приём сообщает странице один бит об одном сайте за раз, одни каналы закрывают, а новые продолжают появляться. На список всё это не похоже.

## Как трекеры всё равно собирают вашу историю

Реклама преследует вас в основном из-за того, кто ещё присутствует на странице. Скрипт рекламной сети стоит и на сайте обувного магазина, и на новостном сайте. Если он узнаёт вас на обоих, у него есть история вашего сёрфинга, собранная по сайтам, одному за другим, без какой-либо помощи со стороны истории вашего браузера. У FTC есть понятный [обзор того, как сайты и приложения это собирают](https://consumer.ftc.gov/articles/how-websites-and-apps-collect-and-use-your-information).

Safari полностью блокирует сторонние cookie, а Firefox разделяет их по сайтам. По состоянию на ноябрь 2026 года Chrome по умолчанию их всё ещё разрешает. Cookie лишь один из способов вас узнать. [Отпечаток canvas](https://bscan.info/ru/blog/canvasHash) в большинстве браузеров может оставаться одинаковым на всех сайтах, ничего не сохраняя, поэтому очистка истории против него бессильна.

Скрипт трекера выполняется и внутри той страницы, где он стоит, поэтому может прочитать её адрес и заголовок, а не просто отметить, что вы пришли. Об остальном рассказывает наша статья о том, [что страница может наблюдать во время визита](https://bscan.info/ru/blog/can-websites-see-tab-switching).

## Кто ещё может видеть историю вашего браузера

Уберите страницу из картины и посмотрите на всех остальных на пути между вами и сайтом. Большинство видит лишь часть. Исключение составляет синхронизируемый аккаунт браузера.

Кто видит какую часть вашей истории

Кто

Какие сайты

Какие страницы и запросы

Что на страницах

Сайт, на котором вы находитесь

Видит часть: название предыдущего сайта, если передано

Не видит: только свои страницы

Не видит: только своё содержимое

Трекер, встроенный на оба сайта

Видит: где встроен, если узнаёт вас

Видит: адреса страниц, где он стоит, если его скрипт выполняется на странице

Видит часть: заголовок страницы и всё, что читает его скрипт

Ваш провайдер или владелец Wi-Fi

Видит: обычно доменные имена и IP серверов

Не видит: пути при HTTPS зашифрованы

Не видит: зашифровано

Ваш синхронизируемый аккаунт браузера

Видит: всё, если синхронизация включена и компания может прочитать

Видит: полные адреса, если читаются

Не видит: не хранится

-   Видит
-   Видит часть
-   Не видит

Большинство строк видят лишь часть. Всё целиком видит только синхронизируемый аккаунт, и только если компания может его прочитать. VPN не убирает долю провайдера, а переносит её на VPN-провайдера.

Ваш провайдер или тот, кто держит Wi-Fi в отеле или офисе, не может прочитать адреса страниц на сайтах с HTTPS. Доменные имена он, как правило, всё же видит, потому что DNS-запрос и начало TLS-соединения называют сайт. Зашифрованный DNS и Encrypted Client Hello на некоторых сайтах это скрывают, но IP-адрес сервера остаётся виден. VPN эту долю не стирает, а передаёт большую её часть VPN-провайдеру, и провайдеру остаётся знать лишь то, что вы им пользуетесь. Как сайты это замечают, мы разбираем в статье про [определение VPN](https://bscan.info/ru/blog/vpn-detection).

Про одну строку люди забывают: это аккаунт самого браузера. Если синхронизация истории включена, полный список открытых вами адресов может лежать на сервере разработчика браузера. В Chrome Google может читать синхронизированную историю, пока вы не задали кодовую фразу синхронизации, а с ней синхронизируются только адреса, которые вы набрали в адресной строке. Firefox Sync и iCloud шифруют историю, так что эти компании прочитать её не могут.

## Что меняют инкогнито, очистка истории и переход на телефон

Приватный режим не даёт вашему браузеру сохранять список и стартует с чистыми cookie. Сайт, ваш провайдер и владелец Wi-Fi всё равно видят визит, а в большинстве браузеров отпечаток по-прежнему вас узнаёт. Safari, Firefox в приватных окнах, Brave и Tor добавляют шум или единообразие, которые это затрудняют. Очистка истории стирает список, который хранит ваш браузер, и вместе с ним синхронизированную копию, но не то, что уже есть у сайтов, трекеров или провайдера. Журнал активности аккаунта, такой как «Мои действия» у Google, хранит собственную копию, пока вы не удалите её там. С телефоном работает та же логика: страница получает те же немногие показания, а значимая история лежит в аккаунте или в сети, а не в браузере. Так что если вы опасаетесь, что историю увидит партнёр или родитель, проверьте два места: аккаунт, к которому есть доступ у вас обоих, с его синхронизацией и журналом активности, и сеть, по которой идёт трафик.

## Что делать на практике

1.  **Проверьте первую строку виджета.** Там должно быть «Закрыто». Если там «Утечка», ваш браузер старше исправления 2010 года или в нём не хватает заплатки. Обновите его, а в Safari убедитесь, что у вас версия 26.6 или новее.
2.  **Проверьте, что вы синхронизируете.** Откройте настройки синхронизации браузера и решите, нужна ли история в аккаунте. В Chrome кодовая фраза синхронизации не даёт Google её читать. Firefox Sync и iCloud шифруют историю по умолчанию.
3.  **Очистка истории не остановит слежку.** Она стирает список, который хранит ваш браузер, и вместе с ним синхронизированную копию. Cookie и данные сайтов она не трогает и не достаёт до того, что уже есть у сайтов, трекеров или провайдера. Очистка cookie убирает ту часть слежки, что держится на cookie, а та, что держится на отпечатке, в большинстве браузеров переживает и очистку истории, и очистку cookie.
4.  **Разделяйте личности осознанно.** Трекеры работают за счёт связывания данных, поэтому всё, что нельзя связывать, должно иметь собственные cookie, хранилище и отпечаток. Если вы ведёте несколько аккаунтов таким образом, [Incogniton](https://www.incogniton.com/?utm_source=bscanInfo&utm_medium=Website&utm_campaign=BrowsingHistoryBlog) даёт каждому профилю собственные cookie, хранилище и отпечаток, так что трекер, стоящий на двух сайтах, видит двух незнакомцев, при условии, что вы открываете каждый сайт из отдельного профиля и даёте каждому профилю свой IP-адрес через прокси.

Виджет проверяет то, что страница может прочитать. [Полное сканирование браузера](https://bscan.info/ru) проверяет, что страница может выяснить о вас по свойствам, которые по отдельности выглядят безобидно: хеши отпечатков, утечки вокруг вашего IP-адреса и то, рассказывает ли ваш браузер одну согласованную историю.

[Запустить полное сканирование браузера](https://bscan.info/ru)

## Читать дальше

[

![Видят ли сайты удалённый рабочий стол? Проверяем признаки](https://bscan.info/remoteDesktopCover.svg)

Видят ли сайты удалённый рабочий стол? Проверяем признаки

](https://bscan.info/ru/blog/can-websites-detect-remote-desktop)[

![Может ли сайт узнать об Inspect Element и DevTools?](https://bscan.info/devtoolsCover.svg)

Может ли сайт узнать об Inspect Element и DevTools?

](https://bscan.info/ru/blog/detect-devtools)[

![Могут ли сайты узнать имя вашего компьютера?](https://bscan.info/computerNameCover.svg)

Могут ли сайты узнать имя вашего компьютера?

](https://bscan.info/ru/blog/computer-name)

---
This is the page's server-rendered documentation. Interactive browser tests, file processing and permission prompts require the HTML page; Markdown does not contain live measurements or process files.
