Tracker Lab
Tracker Lab
@tracker_lab

Парсинг user agent ломается не в regex, а на пограничных строках и мобильных webview

Парсинг user agent ломается не в regex, а на пограничных строках и мобильных webview

UA-строка выглядит простой, пока не упираешься в bot-трафик, встраиваемые браузеры и кастомные клиенты. Большинство ошибок одинаковые: библиотека определяет семейство браузера, но теряет движок, путает версию рендера с версией приложения или считает webview за обычный Chrome.

Базовое правило: не верь одному полю. Сверяй минимум три признака — семейство, платформу, mobile/desktop. Если библиотека отдает «Chrome/Android», а по fingerprint виден iOS-стек, значит источник уже грязный. Для антифрода и трекинга это важнее красивого названия браузера.

Подводные камни: старые движки часто режут UA до шаблона; прокси-сетки добавляют мусор в заголовки; iOS webview может маскироваться под Safari, но не совпадать по экрану, touch и navigator.vendor. Отдельно проверяй, как библиотека обрабатывает пустые, обрезанные и подмененные строки — именно они чаще всего прилетают в логах.

Практика простая: держи allowlist по реальным связкам, а не по одному regex; логируй сырой UA вместе с распарсенной структурой; для спорных кейсов сравнивай UA с client hints и fingerprint. Если парсер не умеет объяснить расхождение, он только создает иллюзию точности.
Этот пост опубликован в Telegram-канале Tracker Lab. Подписаться можно по ссылке: @tracker_lab.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.