вернуться к обзору Больше статей

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

Вы дали ноутбуку имя, в котором есть что-то личное. А потом сервис проверки IP показал поле «hostname» или уведомление о входе назвало ваш компьютер, и возник вопрос: неужели каждый сайт получает это имя, стоит открыть вкладку?

Обычный общедоступный сайт не может прочитать имя устройства Windows или имя компьютера Mac через стандартный API браузера. Но сервисы проверки приватности показывают несколько разных «имён», и относятся они к разным машинам. Если их перепутать, заурядный сетевой запрос начинает выглядеть так, будто кто-то залез в ваши настройки.

Если коротко: у обычной веб-страницы нет стандартного API для чтения имени компьютера или имени пользователя в ОС. location.hostname — это имя сайта; обратный DNS-запрос возвращает имя публичного IP, если для него есть запись. Выбор файла раскрывает его имя, но не полный локальный путь. Имя всё же может попасть к сайту через данные, которыми вы делитесь, службы локальной сети или настроенную корпоративную аутентификацию. Это отдельные каналы, а не скрытое поле браузера.

Hostname в JavaScript относится к сайту

Откройте консоль на этой странице и выполните location.hostname. На публичном сайте вы получите bscan.info. В локальном предпросмотре результатом может быть localhost. Ни то ни другое не обозначает компьютер, на котором открыта страница. Это имя хоста из URL страницы — именно так его определяет документация Location API.

Слово «host» в HTTP-запросе вызывает ту же путаницу. Host: bscan.info сообщает серверу, какой сайт вы запросили. В HTTP/2 и HTTP/3 эту информацию может передавать :authority. Эти поля указывают на адресата запроса, а не на ваш ноутбук. Именно это значение закреплено в описании полей Host и authority в HTTP.

Попробуйте виджет ниже. Первые два значения он действительно считывает из браузера. Строка с именем компьютера объясняет, что позволяют стандартные API браузера. Она не исключает, что вы передали сведения о себе другим способом.

Какое имя на самом деле видно?
location.hostname
Ожидаем данные от браузера
Сайт в этой вкладке, а не ваше устройство.
navigator.userAgent
Ожидаем данные от браузера
Описание программного обеспечения, которое передаёт браузер. Этот текст можно переопределить.
Локальное имя вашего компьютера
Стандартного API веб-страницы для этого нет
Это ограничение веб-платформы, а не результат успешной проверки на утечку.

Что получает страница при выборе файла

Скачайте безобидный файл-пример и выберите его ниже. Виджет показывает имя файла и значение поля выбора. Он не читает и не отправляет содержимое.

Скачать безобидный файл-пример
File.name
Файл не выбран
input.value
Файл не выбран
Считанные значения остаются в этом компоненте. Имя выбранного файла видно, а его полный локальный путь — нет. Эти проверки не исследуют сетевые службы или корпоративную аутентификацию.

User-Agent — это описание программного обеспечения, которое передаёт браузер. В нём могут быть указаны семейство операционной системы и версия браузера. Стандартного поля для имени устройства, которое вы задали в настройках, в нём нет. Расширение или нестандартный браузер могут добавить туда текст, поэтому лучше прочитать саму строку, чем заранее считать, что личных данных в ней нет. Насколько можно верить этим сведениям о ПО, мы разбираем в статье почему User-Agent и движок могут противоречить друг другу.

Имя публичного IP — ещё одно отдельное имя

Сервер может взять IP-адрес, с которого пришло ваше соединение, и выполнить обратный DNS-запрос. В ответ он может получить что-то вроде customer-203-0-113-8.isp.example, имя хостинг-провайдера или вообще ничего. Здесь приведён вымышленный пример DNS-записи.

Обратный DNS-запрос обращается к тому, кто управляет обратными DNS-записями адреса: какое имя для него опубликовано? Он не спрашивает Windows или macOS, как вы назвали компьютер. В домашней сети с IPv4 NAT несколько устройств могут пользоваться одним публичным адресом. Поэтому публичное имя хоста нельзя считать именем конкретного ноутбука, открывшего страницу.

Из этого не следует, что имя хоста никогда не позволяет узнать машину. Организация может намеренно опубликовать осмысленное имя компьютера с публичным адресом. Запись может даже совпадать с его локальным именем. Важно, откуда взялся результат: из опубликованных DNS-данных, а не из стандартного API веб-страницы, читающего ваши настройки. VPN может изменить адрес соединения, который видит сайт; это ничего не говорит о том, какие другие сведения сайт уже знает.

Может ли загрузка файла раскрыть имя пользователя Windows?

Путь вроде C:\Users\Alice\Documents\invoice.pdf содержит имя пользователя. Обычный HTML-элемент для выбора одного файла не передаёт странице этот полный путь. В его value используется строка, скрывающая настоящий путь, например C:\fakepath\invoice.pdf, а File.name содержит только имя файла. MDN описывает этот подставной путь: это не папка, которую нужно удалить, и не ошибка Windows.

Скачайте безобидный файл-пример из виджета, а затем выберите его. Сравните input.value и File.name. Путь в стиле Windows на Mac не означает, что страница определила Windows. Эта строка нужна, чтобы скрыть настоящую структуру каталогов.

Само имя файла видно. Если вы выберете Alice-Payroll-October.pdf, страница получит это имя. Выбор файла также даёт странице доступ к его содержимому: ей не нужно ждать, пока вы нажмёте отдельную кнопку загрузки. Этот виджет показывает только имя и значение поля выбора. Он не читает содержимое и никуда не отправляет файл.

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

Кто на самом деле может узнать имя компьютера?

Ваша локальная сеть видит не то же самое, что случайный публичный сайт. Имена устройств могут появляться в сетевых протоколах и при обнаружении служб. RFC 8117 описывает эту проблему приватности, в том числе раскрытие имён через DHCP и multicast DNS. Поэтому список устройств в роутере может содержать сведения, недоступные обычной публичной веб-странице. Открытие панели управления роутером не передаёт его знания всем остальным сайтам.

Во внутренней корпоративной сети Windows Authentication позволяет настроенным веб-приложениям аутентифицировать пользователей с помощью их учётных записей Windows. Руководство Microsoft по Windows Authentication описывает её применение в корпоративных сетях. Имя учётной записи, полученное таким способом, — совсем другая история, чем произвольный скрипт, читающий ваше имя пользователя в ОС. Корпоративный портал также может показывать сведения об устройстве из собственной системы учёта. Прежде чем обвинять браузер в утечке, выясните, какая интеграция передала это название.

Наконец, имя можно отправить самому. На скриншоте настроек бывает видно имя устройства. Диагностический журнал может содержать имя хоста или путь к домашнему каталогу. В документе может быть указано имя автора. Всё это повод проверять данные перед отправкой, хотя универсальной функции «прочитать имя компьютера» у страницы нет.

Переименование ПК не меняет личность браузера

Если после переименования компьютера сайт всё ещё узнаёт ваш аккаунт, удивляться нечему. Сайт может узнавать сеанс по куки или по входу в аккаунт. Он также может собирать характеристики браузера в отпечаток. Ничему из этого не нужно имя, указанное в настройках устройства. Та же разница объясняет, почему сайту не нужен ваш MAC-адрес, чтобы узнавать устройство.

Заменить Alice-Laptop на Desktop разумно, если вам не хочется сообщать личное имя локальным сетям. Но это не удалит куки, не изменит учётную запись и не заменит характеристики рендеринга, которые использует canvas-фингерпринтинг. Сервис проверки может узнать ваш браузер, так и не выяснив имя компьютера.

Для работы с аккаунтами клиентов отдельные профили браузера полезнее нового имени ПК. Incogniton — один из инструментов управления такими профилями. Выбирайте его ради удобства работы, а не как гарантию, что загруженный документ или корпоративный портал, где вы вошли в аккаунт, не смогут вас идентифицировать.

Начните с того, что именно вы увидели. Если значение совпадает с доменом текущего сайта, оно взято из URL. Если похоже на название провайдера, проверьте, не результат ли это обратного DNS-запроса. Если там есть ваше личное имя, посмотрите на имя файла, учётную запись или диагностические данные, которые вы передали. Затем запустите сканирование браузера: оно покажет сигналы, которые веб-страница может прочитать, не зная прозвища вашего ПК.

Логотип Incogniton

Повысьте уровень своей приватности

Стрелка