User-Agent и мобильный fingerprint: где фильтр видит несостыковку первым
Анализ логов показывает: User-Agent — это не маска, а один из сигналов. Если он кричит «iPhone», а TLS, экран, шрифты, WebGL и набор API ведут себя как дешевый эмулятор Android, запрос режется не по одному полю, а по совокупности признаков.
Проверка цепочки прохождения запроса начинается с трёх зон: HTTP-слой, клиентский JS-слой и сетевой профиль. Смотрим согласованность User-Agent, Accept-Language, timezone, screen resolution, touch support, canvas, audio fingerprint и наличия типичных mobile headers. Один выбивающийся параметр часто заметнее, чем полностью «левый» профиль.
Для мобильных отпечатков важна связка: устройство, прокси-гео и поведение браузера должны сходиться. Если IP из одной страны, язык из другой, а модель устройства не бьётся с разрешением и DPR — это уже не «креативная настройка», а готовый триггер для антифрода. Особенно плохо выглядит рваная смена отпечатка в рамках одной сессии.
Минимальный чек-лист: фиксируйте один профиль на один поток, не мешайте desktop и mobile headers, держите одинаковые timezone/locale, проверяйте, чтобы touch-events и viewport соответствовали заявленному устройству, и не забывайте про стабильность canvas/WebGL. Конфиг готов, можно деплоить, но сначала прогон через тестовый endpoint и сравнение логов по всем слоям.
Если кратко: фильтр ловит не «плохой User-Agent», а несогласованную картину. Статистика верифицирована, расхождения исключены только тогда, когда HTTP, JS и сеть говорят одним языком.
Клоакинг: разборы
@cloaking_lab_arb
User-Agent и мобильный fingerprint: где фильтр видит несостыковку первым
Этот пост опубликован в Telegram-канале Клоакинг: разборы. Подписаться можно по ссылке: @cloaking_lab_arb.