ДАРА ОТПЕЧАТОКFingerprint браузера: что это и как работает
Fingerprint браузера: что это и как работает
Fingerprint (отпечаток) браузера — это набор признаков, которые браузер сообщает любому сайту: как он рисует Canvas, какая в устройстве видеокарта, какой экран, часовой пояс и языки. Вместе они описывают устройство и помогают узнать посетителя, когда cookie потерялась, — но не самого человека.
Что такое fingerprint браузера
Обычный способ узнать вернувшегося посетителя — cookie: сайт записывает в браузер идентификатор и читает его при следующем визите. Cookie теряются: посетитель очищает их, открывает сайт в режиме инкогнито, а Safari удаляет cookie, записанные скриптом, через 7 дней без визита.
Отпечаток браузера не хранится на устройстве — его каждый раз можно снять заново. Скрипт на странице опрашивает браузер: размеры и плотность экрана, число ядер процессора и объём памяти, модель видеокарты из WebGL, часовой пояс и языки, мелкие различия в отрисовке текста на Canvas и в результатах математических функций. У одного и того же браузера эти признаки почти не меняются, а у разных устройств чаще всего различаются.
Слово «чаще всего» здесь главное. Одинаковые устройства дают одинаковый отпечаток: два iPhone одной модели с той же версией iOS и тем же языком для сайта неотличимы. Поэтому в ДАРА ОТПЕЧАТОК отпечаток — вспомогательный признак, а посетителя определяет cookie.
Из каких сигналов складывается отпечаток
SDK ДАРА ОТПЕЧАТОК собирает 20+ сигналов браузера и устройства. В хеш устройства входят те, что не меняются у одного браузера:
- Canvas — различия отрисовки текста и фигур;
- Math — платформенные отличия тригонометрических функций;
- GPU: WebGL Renderer и Vendor;
- экран, глубина цвета (colorDepth), devicePixelRatio, количество точек касания;
- ядра CPU, объём памяти, платформа;
- часовой пояс (IANA-название) и языки.
User-Agent с версией браузера, тип сети, доступная область экрана, Do Not Track и число плагинов сохраняются в сессии, но в хеш не входят: у одного человека они меняются — например, браузер обновился. Страну, город и провайдера сервер определяет по IP-адресу по своей базе, без внешних запросов. Полный список — в разделе документации «Сигналы».
Как работает отпечаток в ДАРА ОТПЕЧАТОК
SDK собирает сигналы на странице и отправляет их в POST /session/init. Хеш устройства считает сервер, а не браузер. Дальше всё решает cookie dara_visitor:
- cookie есть — посетитель узнан по ней (
match: "cookie", уверенность 1,0); - cookie потерялась — сервер пробует строгое восстановление по устройству (
match: "restored", уверенность 0,9); - восстановить нельзя — создаётся новый посетитель (
match: "new").
Прежний visitor_uuid возвращается, только если выполнены все условия: устройство уникально на сайте (не iOS и не iPadOS, за 30 дней с ним не было трёх и более посетителей, защита браузера от отпечатков не меняет его сигналы); за 30 дней с этим устройством был ровно один посетитель; он заходил из той же сети (IPv4 /24, IPv6 /48), и в этой сети не больше 20 посетителей сайта; он не активен прямо сейчас из другой сети. Иначе совпадение записывается как возможное: оно видно в API и в кабинете, но профиль не меняет. Подробно — в разделе «Как работает идентификация».
Почему отпечаток — не личность
Если склеивать посетителей только по отпечатку, владельцы одинаковых телефонов превратятся в одного человека, а его история — в чужую. ДАРА ОТПЕЧАТОК помечает такие устройства как общие (device.is_common) и называет причину в common_reason:
low_entropy_platform— iOS и iPadOS: у них слишком мало различий между устройствами;many_visitors— за 30 дней с устройством было три и более посетителей сайта;many_networks— за 30 дней устройство появлялось у двух и более посетителей из трёх и более сетей;unstable_signals— сигналы меняются между визитами одного посетителя, как бывает при защите браузера от отпечатков.
По общему устройству посетитель не восстанавливается, а признак нескольких аккаунтов (multi_account.suspected) для него всегда false. Разные люди автоматически не склеиваются.
Что получает сайт
- Постоянный
visitor_uuidдля каждого браузера — в cookiedara_visitorи в ответе SDK. - Способ узнавания и уверенность:
cookie,restoredилиnew. - Сведения об устройстве в
POST /visitor/info: начало хеша, общее ли оно и почему, сколько посетителей было с ним за 90 дней. - Возможные совпадения с уверенностью 0,3 (общее устройство), 0,6 (уникальное устройство из разных сетей) или 0,8 (уникальное устройство из одной сети).
- Карточку посетителя в кабинете: визиты, устройство, браузер, город и провайдер.
Как подключить
-
Получите ключи сайта
В личном кабинете создайте пару: публичный
pk_…для страниц и секретныйsk_…для сервера — ключи сайта. -
Добавьте скрипт на сайт
Один тег перед
</head>и вызовDaraFingerprint.initс публичным ключом — быстрый старт. -
Продлевайте cookie с сервера
Чтобы Safari не терял посетителя через 7 дней, отвечайте заголовком
Set-Cookieи включитеcookieServerManaged— cookie на сервере.
Кабинет, API и SDK бесплатны, заявка не нужна.
Частые вопросы
Чем отпечаток браузера отличается от cookie?
Cookie хранится в браузере и однозначно указывает на него, пока её не удалили. Отпечаток снимается заново при каждом визите и описывает устройство, а одинаковые устройства дают одинаковый отпечаток. Поэтому в ДАРА ОТПЕЧАТОК посетитель — это cookie dara_visitor, а отпечаток помогает восстановить её и найти возможные совпадения.
Можно ли по отпечатку узнать конкретного человека?
Нет. Отпечаток описывает устройство, а не человека: два человека с iPhone одной модели, версии iOS и языка дают один и тот же отпечаток и получают разные visitor_uuid. Почту, телефон или имя сервис узнаёт, только если их передаст сервер сайта из своих форм.
Что будет, если браузер защищается от отпечатков?
Если сигналы одного посетителя меняются между визитами, устройство помечается как общее (common_reason: unstable_signals) и по нему посетитель не восстанавливается. Узнавание по cookie dara_visitor работает как обычно.
Входит ли User-Agent в отпечаток?
Нет. User-Agent с версией браузера, тип сети, доступная область экрана, Do Not Track и число плагинов сохраняются в сессии, но в хеш устройства не входят: у одного человека они меняются.
Как отпечаток помогает находить несколько аккаунтов одного человека — на странице «Как выявить мультиаккаунты на сайте»; какие сигналы приходят против накруток и ботов — «Защита от фрода, накруток бонусов и SMS».