Почему сайт по-прежнему знает ваш город через VPN
Сайт может независимо использовать разрешение на геолокацию в браузере и ваш публичный IP: проверьте разрешение для источника, настройку ОС и сохранённый город.
Два механизма могут вывести город на экран, и только один из них учитывает, откуда выходит ваш VPN. Geolocation API браузера возвращает положение устройства, когда у страницы есть разрешение, а поиск по IP оценивает регион по адресу, с которого пришёл запрос. Сайт, показывающий ваш настоящий город, пока туннель работает в другой стране, обычно использует первый механизм или читает город, сохранённый несколько месяцев назад. Эти случаи разделяют пять шагов.
Первый шаг: определить, какой механизм может ответить
Начните с вопроса, что страница вообще может знать. Положение устройства требует вызова API и решения о разрешении и даёт точную координату. Оценка по IP не требует от пользователя ничего и даёт в лучшем случае город, часто неверный. Сохранённая настройка аккаунта не требует ни того, ни другого и переживает любое изменение сети.
Эти три источника объясняют почти каждый отчёт. Картографический сайт, центрирующийся на вашей улице, использует API. Магазин, приветствующий вас не на том языке, использует оценку по IP. Новостной сайт, который после переезда продолжает показывать ваш родной город, использует то, что сохранил ваш аккаунт.
| What the page shows | Likely source |
|---|---|
| Street-level accuracy | Device position from the Geolocation API |
| City or region only | IP geolocation of the exit address |
| Same city for months | Stored account preference |
| Different result in a private window | Stored permission or cached state |
Второй шаг: прочитать разрешение именно для этого источника
Браузеры помнят решение о разрешении для каждого источника, поэтому сайт, которому вы разрешили в прошлом году, открывается без нового запроса. Проверьте запись о местоположении именно для этого сайта в настройках сайтов браузера, а не глобальное значение по умолчанию, потому что глобальная настройка определяет только то, что происходит, когда ничего не сохранено.
Затем проверьте операционную систему. Браузеру на современном компьютере или телефоне нужно ещё и разрешение платформы на геолокацию, а отклонённое разрешение платформы заставляет API завершаться ошибкой даже тогда, когда сайт разрешён. Доступное положение может приходить от служб платформы, которые не имеют отношения к туннелю.
Два технических условия объясняют большинство сбоев, похожих на проблемы с VPN. API требует безопасного контекста, поэтому обычная страница HTTP вообще не может его использовать, а встроенные фреймы могут блокироваться Permissions Policy страницы. Отклонённый запрос поэтому гораздо чаще является результатом браузера или политики страницы, чем сети.
Третий шаг: подтвердить адрес выхода новым запросом
Спросите независимый сервис, какой адрес он видит, из того же браузера, который вы тестируете. Устаревшая вкладка, service worker или страница из кэша могут сообщить вчерашний ответ, а сравнение свежего ответа с тем, что показывает сайт, снимает это сомнение.
curl -s https://ifconfig.me
curl -s https://ipinfo.io/json
Запустите их с машины, а не с роутера, и запишите адрес и страну, которые возвращает каждая команда. Если обе сообщают страну VPN, а сайт по-прежнему показывает ваш родной город, выход не является источником, и оставшиеся варианты — разрешение, сохранённые данные и путь утечки.
Пути утечки — третья возможность: расширение браузера с собственным сетевым стеком, маршрут split-tunnel, отправляющий сайт в обход туннеля, или путь IPv6, который туннель не переносит. Каждый виден в самом запросе, поэтому проверка выхода идёт до любого изменения настроек. Расширение с собственными настройками proxy — то, что люди упускают, потому что оно может обойти туннель для одной вкладки.
Четвёртый шаг: посмотреть, что аккаунт уже сохранил
Отзыв разрешения влияет на будущий доступ по правилам браузера и не удаляет положение, которое сервис уже сохранил. Сохранённый родной город, адрес доставки или регион профиля остаются, пока приложение их не обновит, и сайт всё ещё может сделать приблизительную оценку по адресу выхода.
Поищите собственное управление местоположением на сайте, прежде чем делать вывод, что виноват браузер. Многие приложения хранят ручной выбор региона, который отменяет любую автоматическую оценку, и агент поддержки, читающий запись аккаунта, видит именно это значение, а не ваше текущее подключение.
Там, где сохранённое значение важно, измените его в аккаунте и запишите дату. Это даст вам вторую точку данных, когда старый город появится снова. Скриншот страницы аккаунта до изменения ценнее описания после него.
Пятый шаг: менять по одной переменной
Тестируйте в фиксированном порядке: свежая проверка выхода, разрешение источника, разрешение платформы, настройка аккаунта, затем другой профиль браузера. Изменение нескольких параметров сразу делает источник неопределимым, и так ответ на пять минут превращается в неделю догадок.
Запишите, что вы изменили и что страница показала после этого. Если отображение меняется только в приватном окне, причина — сохранённое состояние; если оно не меняется никогда, страница использует оценку по IP или значение аккаунта, на которое браузер не может повлиять. Держите «до» и «после» в одной заметке, потому что именно закономерность является доказательством.
Будьте честны в выводе: VPN меняет адрес, с которого приходит запрос, а Geolocation API — отдельный канал с разрешением, которого туннель не касается. Оба факта могут быть верны одновременно, и большинство запутанных отчётов возникает из-за того, что их считают альтернативами.