Browser fingerprinting (отпечаток браузера) — это способ узнать конкретное устройство без единого cookie, по десяткам технических параметров: от модели видеокарты до набора установленных шрифтов. По данным исследования EFF, типичный отпечаток несёт не менее 18,1 бита энтропии — этого хватает, чтобы выделить один браузер из 286 тысяч. Мы в BotHunt анализируем 40+ сигналов в реальном времени и видим главное: именно отпечаток браузера, а не IP-адрес и не капча, чаще всего выдаёт бота.
В этой статье разберём, из чего складывается browser fingerprinting, как работают canvas, WebGL, AudioContext и шрифтовые векторы, зачем нужен сетевой отпечаток TLS и JA3, и почему подмена отпечатка через антидетект-браузеры не спасает бота от блокировки. Материал технический, но без воды — с цифрами, таблицами и разбором обеих сторон гонки вооружений.
Коротко:
Browser fingerprinting — это идентификация устройства по совокупности параметров браузера (canvas, WebGL, шрифты, экран, TLS) без использования cookie.
Отпечаток устойчивее cookie: он не стирается при очистке истории, работает в режиме инкогнито и переживает смену IP-адреса.
Canvas fingerprint строится на том, что одна команда отрисовки даёт чуть разные пиксели на разных GPU, драйверах и ОС — из этих отличий получают уникальный хеш.
Антибот-сервисы ловят ботов на рассинхронах отпечатка: headless-браузер выдаёт navigator.webdriver, а антидетект — противоречивые параметры вроде десктопной видеокарты на мобильном профиле.
Подделать один вектор мало: современная защита сверяет 30–40 сигналов между собой и с поведением, поэтому нестабильный или невозможный отпечаток сам становится признаком бота.
Что такое browser fingerprinting и чем он отличается от cookie
Browser fingerprinting — это технология идентификации устройства по уникальному сочетанию настроек и возможностей браузера. В отличие от cookie, отпечаток ничего не записывает на устройство пользователя: сервер просто собирает параметры, которые браузер и так отдаёт при загрузке страницы, и превращает их в хеш.
Разница принципиальная. Cookie — это метка, которую сайт кладёт в браузер: её можно удалить, заблокировать или сбросить в режиме инкогнито. Отпечаток пассивен и живуч: он собирается заново при каждом визите, переживает очистку истории, смену IP и работает даже в приватном окне. Для антибота это ключевое свойство — бот меняет прокси и чистит cookie после каждой сессии, но отпечаток выдаёт, что запросы идут из одной и той же автоматизированной среды.
Работает всё на языке теории информации. Каждый параметр несёт энтропию — количество бит различий между устройствами. Чтобы выделить одного человека из 8 миллиардов, достаточно всего 33 бит (2 в 33-й степени ≈ 8 млрд). Реальный отпечаток по замерам EFF набирает 18–19 бит — не абсолютная уникальность, но достаточно, чтобы связать сессии и отличить автоматизацию от живого трафика. Как отпечаток встраивается в общую картину рисков, мы разбираем в материале про поведенческие факторы.
Отсюда и практическая ценность для защиты. IP легко меняется через прокси, cookie очищается, User-Agent подделывается одной строкой. Отпечаток же собирается из десятков параметров, которые бот не может переписать все сразу, не выдав нестыковок. Именно поэтому fingerprinting стал ядром современных антибот-систем, а не вспомогательной проверкой.
Из чего складывается отпечаток браузера: карта векторов
Отпечаток браузера собирается из нескольких групп параметров: аппаратных (GPU, число ядер, объём памяти), программных (ОС, версия браузера, шрифты, плагины), контекстных (язык, часовой пояс, разрешение экрана) и активных (canvas, WebGL, audio). Каждый вектор добавляет несколько бит энтропии, а вместе они образуют почти уникальный ключ.
Ниже — карта основных векторов с оценкой вклада в энтропию и стабильности. Значения в битах усреднённые: они зависят от устройства и меняются, но задают порядок величины.
Вектор | Что раскрывает | Вклад, бит | Стабильность |
|---|---|---|---|
User-Agent + Client Hints | Браузер, версия, ОС, платформа | ~5–10 | Высокая |
Экран и цвет | Разрешение, глубина цвета, DPR | ~4–8 | Высокая |
Часовой пояс + язык | Регион, локаль, раскладка | ~3–6 | Высокая |
Список шрифтов | Установленные гарнитуры | ~5–13 | Высокая |
| GPU, драйвер, сглаживание, ОС | ~10–15 | Высокая |
| Точная модель видеокарты | ~8–12 | Высокая |
| Обработка звука в системе | ~5–10 | Высокая |
TLS / JA3-JA4 | Сетевой стек и библиотека клиента | ~6–10 | Средняя |
Сколько параметров реально снимают сайты? По данным исследования FPMON, которое просканировало 10 000 самых посещаемых сайтов, медианный сайт собирает 11 параметров, а 57% запрашивают от 7 до 15. Всего каталогизировано 115 техник фингерпринтинга. Для уверенности выше 90% системе достаточно около 23 параметров — и почти все они собираются незаметно, за миллисекунды.

Canvas fingerprinting: как пиксели выдают устройство
Canvas fingerprint — это отпечаток, построенный на отрисовке скрытого изображения. Сайт просит браузер нарисовать текст и фигуры на элементе <canvas>, а затем считывает результат по пикселям. На разных видеокартах, драйверах и системах сглаживания одна и та же команда даёт чуть-чуть разную картинку — эти микроотличия и становятся идентификатором.
Механика простая. Браузеру дают команду отрендерить строку-пангамму со спецсимволами и эмодзи поверх градиента, затем вызывают getImageData() и получают массив байтов всех пикселей. Этот массив хешируют (обычно SHA-256) — на выходе короткая строка, которая стабильно повторяется на том же устройстве неделями. Пользователь ничего не видит: canvas рисуется размером в пиксель или за пределами экрана.
Именно поэтому canvas fingerprint так ценен для антибота: он не требует cookie, работает в инкогнито и одинаково снимается на десктопе и мобильном. Заблокировать его «в лоб» тоже не выход — если браузер вообще отказывается отдавать canvas или подмешивает шум, это само по себе аномалия, которую защита фиксирует как подозрительный признак.
Попробуйте BotHunt бесплатно 14 дней — агент снимает отпечаток и отсекает ботов за 4–12 мс, невидимо для живых посетителей. Подключить защиту →

WebGL, AudioContext и шрифты: другие мощные векторы
Помимо canvas, отпечаток усиливают WebGL, AudioContext и список шрифтов — все три опираются на аппаратные и системные различия устройств, которые почти невозможно подделать целиком.
WebGL fingerprint снимается через расширение WEBGL_debug_renderer_info: параметр UNMASKED_RENDERER_WEBGL отдаёт точную модель видеокарты и драйвер — например, «ANGLE (NVIDIA GeForce RTX 3060 Direct3D11)». Дополнительно рендерится 3D-сцена и считывается список поддерживаемых расширений. Это один из самых информативных векторов: он привязан к конкретному железу.
AudioContext fingerprint генерирует звук программно: OfflineAudioContext создаёт синусоидальный сигнал, пропускает его через DynamicsCompressor и хеширует полученные сэмплы. Обработка звука чуть отличается от ОС к ОС и от сборки браузера — на выходе стабильный, но уникальный хеш. Звук при этом не воспроизводится.
Перечисление шрифтов работает на измерении: браузер отрисовывает текст в наборе гарнитур и сравнивает ширину и высоту блока. Если шрифт установлен, размеры отличаются от запасного — так собирается список системных шрифтов. Раньше это делали через Flash (до 500 шрифтов), сегодня — чистым JavaScript по метрикам текста.
Сетевой отпечаток: TLS, JA3 и JA4
Отпечаток снимается не только в браузере, но и на сетевом уровне — ещё до того, как загрузится страница. TLS-фингерпринт JA3 берёт параметры из первого пакета соединения (ClientHello) и превращает их в хеш, который выдаёт саму библиотеку или язык, которым сделан запрос.
JA3 придумали в Salesforce в 2017 году. Хеш собирается из версии TLS, списка cipher suites, расширений и эллиптических кривых, объединённых в строку и свёрнутых в MD5. Ценность в том, что сетевой отпечаток переживает ротацию IP: бот на Python requests, curl или Go отдаёт TLS-профиль, который не совпадает с настоящим Chrome, — так палится автоматизация, маскирующаяся под браузер по User-Agent.
В 2023 году всё изменилось. Начиная с Chrome 110 браузер рандомизирует порядок TLS-расширений и подмешивает GREASE — JA3-хеш стал нестабильным, один и тот же Chrome выдаёт разные JA3. На смену пришёл JA4 от FoxIO: он сортирует расширения перед хешированием и потому устойчив. К 2026 году JA4 и его семейство используют Cloudflare, AWS WAF, Akamai и VirusTotal, а вариант JA4L дополнительно меряет тайминги хендшейка для детекта прокси. Подробнее — в отдельном разборе про JA3-фингерпринтинг.
Сетевой слой этим не исчерпывается. Поверх TLS работает фингерпринт HTTP/2: порядок и значения настроек соединения (кадры SETTINGS и WINDOW_UPDATE, приоритеты потоков), а также порядок псевдозаголовков у каждого клиента свои. Akamai описала этот отпечаток ещё в 2020 году — вместе с JA4 он даёт устойчивую сетевую подпись, которую боту трудно подделать, не переписав весь сетевой стек под конкретную версию браузера.
Хотите увидеть, сколько ботов маскируется под браузеры на вашем сайте? Посмотреть тарифы →

FingerprintJS: как работает самая известная библиотека
FingerprintJS — самая известная open-source библиотека для снятия отпечатка. Она собирает 20–30 свойств браузера и превращает их в стабильный идентификатор visitorId, по которому узнаёт вернувшегося посетителя даже без cookie.
Под капотом FingerprintJS снимает canvas, audio, список шрифтов, параметры экрана, часовой пояс, язык и десятки мелких свойств, затем агрегирует их в хеш. Заявленная точность бесплатной версии — в районе 90–95%. Главное ограничение честно признают сами авторы: iPhone дают мало энтропии, потому что железо и сборки iOS почти одинаковы, — на них уникальность отпечатка падает. Коммерческая FingerprintJS Pro добирает точность серверными клиент-серверными трюками, но конкретные проценты вендора стоит считать оценочными.
Важный нюанс для защиты: отдельная библиотека отвечает на вопрос «тот же ли это посетитель», но не «бот ли это». Для антибота одного visitorId мало — нужна связка отпечатка с сетевым слоем и поведением. Как боты имитируют живого человека и где прокалываются, мы разбираем в статье про имитацию поведения пользователя.
Стоит помнить и о правовой стороне. Снятие отпечатка в целях безопасности отличается от рекламного трекинга: антибот не строит профиль личности и не продаёт данные, а лишь проверяет, человек перед ним или скрипт. Для российского бизнеса важно, чтобы обработка шла на серверах в РФ и соответствовала 152-ФЗ, — это снимает вопросы к легитимности защиты и хранению данных.
Как антибот отличает бота от человека по отпечатку
Антибот-система вычисляет бота не по одному параметру, а по противоречиям в отпечатке и его рассинхрону с поведением. Живой браузер отдаёт согласованный набор сигналов, а автоматизация почти всегда где-то себя выдаёт.
Первый слой — детект headless-браузеров. Свойство navigator.webdriver равно true при управлении через Selenium, Puppeteer или Playwright. У headless-Chrome часто отсутствует объект window.chrome, аномально ведут себя разрешения на уведомления, а вместо реального GPU отдаётся программный рендерер SwiftShader. Старый признак «HeadlessChrome» в User-Agent уже неактуален, а stealth-плагины удаляют navigator.webdriver — но само удаление детектируется: свойство формально есть, но возвращает undefined, чего у настоящего браузера не бывает.
Сигнал | Живой пользователь | Бот / автоматизация |
|---|---|---|
| false | true или подозрительно undefined |
Canvas-хеш | Стабилен неделями | Меняется каждый запрос |
GPU (WebGL) | Реальная модель | SwiftShader или пусто |
TLS JA4 vs User-Agent | Совпадают | Не совпадают |
Часовой пояс vs IP | Один регион | Рассинхрон |
Движения мыши | Естественные, с дрожанием | Линейные или отсутствуют |
Второй слой — сверка векторов между собой и с поведением. Часовой пояс должен совпадать с геолокацией IP, canvas — с заявленной видеокартой, ритм сессии — с человеческим. Одно расхождение ещё не приговор, но когда их набирается несколько, вероятность автоматизации резко растёт. Финальное решение принимает модель, которая взвешивает десятки сигналов сразу. Как это делает машинное обучение, мы описываем в материале про поведенческую аналитику и ML. Именно многовекторная сверка, а не отдельная проверка, даёт нашим агентам 99,9% точности при доле ложных срабатываний ниже 0,1%.

Антидетект-браузеры против browser fingerprinting: кто кого
Антидетект-браузеры (Multilogin, Dolphin{anty}, AdsPower) подменяют десятки параметров отпечатка, чтобы одно устройство выглядело как множество разных. Но именно попытка подделки часто и выдаёт бота: подмену видно по нестабильности и невозможным сочетаниям параметров.
Антидетект | Что подменяет | Слабое место |
|---|---|---|
Multilogin | 55+ параметров, hardware-noise | Шум виден как статистическая аномалия |
Dolphin{anty} | Canvas, WebGL, WebGPU, Client Hints, Voices | Противоречия внутри профиля |
AdsPower | UA, часовой пояс, язык, экран, WebRTC | Рассинхрон с TLS-отпечатком |
Слабых мест у подмены пять. Первое — нестабильность: canvas-хеш антидетекта меняется каждый запрос, тогда как реальное устройство держит его неделями. Второе — противоречия: canvas заявляет NVIDIA, а WebGL показывает Intel. Третье — невозможные конфигурации: десктопная RTX на мобильном профиле. Четвёртое — инъекция шума видна как статистическая аномалия распределения пикселей. Пятое — полная блокировка canvas сама по себе редкость и повод для проверки.
Гонка вооружений при этом только обостряется. В 2025–2026 годах инициатива User-Agent Reduction в Chrome урезала данные в User-Agent (точная версия ОС и модель устройства ушли в Client Hints), поэтому вес сместился на canvas, WebGL и сетевой отпечаток — векторы, которые подделать сложнее всего. Итог для владельца сайта простой: надёжная защита сегодня — это не одна проверка, а комплексный антибот, который сверяет отпечаток, сеть и поведение одновременно.
Установка BotHunt занимает 1 минуту: одна строка кода, плагин WordPress или DNS-режим. Начать бесплатно →
Что fingerprinting даёт владельцу сайта: чек-лист
Для бизнеса browser fingerprinting — это не слежка за пользователями, а инструмент безопасности: он отсекает ботов, не мучая живых посетителей капчей и не роняя конверсию. Вот что стоит проверить, выбирая антибот-решение с фингерпринтингом.
Активные векторы. Сервис снимает canvas, WebGL и AudioContext, а не ограничивается User-Agent и IP, которые подделываются за секунду.
Сетевой отпечаток. Есть TLS-фингерпринт JA3/JA4 и HTTP/2 — они ловят ботов, маскирующихся под браузер, ещё до загрузки страницы.
Многовекторная сверка. Параметры сверяются между собой и с поведением, а не проверяются поодиночке: одиночную проверку обходит любой антидетект.
Актуальность. Логика обновляется под изменения Chrome — рандомизацию TLS, User-Agent Reduction и переход на Client Hints.
Реальное время без фрикшена. Защита работает незаметно, без капчи и просадки конверсии для реальных пользователей.
Юрисдикция и 152-ФЗ. Данные обрабатываются на серверах в РФ — для российского бизнеса это обязательный пункт.
Если сомневаетесь, что именно отличит бота на вашем сайте, начните с диагностики: как найти автоматизацию в трафике, мы разбираем в статье про обнаружение парсера на сайте. А проверить BotHunt можно бесплатно — агент разворачивает полный fingerprinting из коробки за минуту.
Часто задаваемые вопросы
Что такое отпечаток браузера простыми словами?
Отпечаток браузера — это набор технических параметров вашего устройства (видеокарта, шрифты, экран, часовой пояс, версия браузера), собранных вместе. Их сочетание почти уникально, поэтому по нему сайт узнаёт устройство без cookie и логина.
Чем browser fingerprint отличается от cookie?
Cookie сайт записывает в браузер, и её можно удалить или заблокировать. Отпечаток ничего не сохраняет: сервер считывает параметры, которые браузер и так отдаёт. Поэтому fingerprint переживает очистку истории, режим инкогнито и смену IP.
Как работает canvas fingerprint и можно ли его отключить?
Canvas fingerprint строится на отрисовке скрытого изображения: одна команда даёт чуть разные пиксели на разном железе, и из этих отличий получают хеш. Полностью отключить его без последствий нельзя — блокировка или подмешивание шума сами становятся аномалией, которую замечает антибот.
Можно ли подделать отпечаток браузера?
Частично — этим занимаются антидетект-браузеры вроде Multilogin и Dolphin{anty}. Но подделка редко бывает идеальной: она выдаёт себя нестабильностью хеша, противоречиями между векторами и невозможными конфигурациями железа, по которым защита и вычисляет бота.
Помогает ли режим инкогнито или VPN скрыть отпечаток?
Нет. Инкогнито очищает только cookie и историю, но отпечаток остаётся прежним. VPN меняет IP, однако canvas, WebGL, шрифты и TLS-профиль не затрагивает — а рассинхрон между новым IP и старым часовым поясом, наоборот, добавляет подозрений.
Как проверить свой отпечаток браузера?
Есть бесплатные тесты: Cover Your Tracks от EFF, BrowserScan, демо FingerprintJS. Они показывают собранные параметры, уникальность отпечатка в битах энтропии и то, насколько легко вас выделить среди других посетителей.
Как антибот отличает бота от человека по отпечатку?
Антибот сверяет десятки сигналов: navigator.webdriver, стабильность canvas, реальность GPU, совпадение TLS-отпечатка с User-Agent, часовой пояс против геолокации IP и естественность движений мыши. Бот прокалывается на противоречиях между этими параметрами.
Насколько точен FingerprintJS и правда ли отпечаток уникален?
Открытая версия FingerprintJS даёт около 90–95% точности. Полная уникальность не гарантирована: по замерам EFF отпечаток несёт 18–19 бит энтропии, а на iPhone из-за одинакового железа уникальность заметно ниже. Для точного детекта отпечаток дополняют сетевым и поведенческим анализом.





