← Назад в блог

Как проверить согласованность UserAgent: четыре слабых места при несовпадении UA

На проверочных сайтах строка UA выглядит нормально, но через несколько дней после входа аккаунт снова получает капчу. Кто-то первым делом меняет UA на другой или ставит ещё одно расширение для подмены UA. В итоге подозрительные срабатывания случаются ещё чаще.

Чаще всего проблема в согласованности. UA это одно поле, но платформа читает его не в одном месте. Если изменить только одно из них, в остальных останутся исходные значения, и при сверке возникает противоречие.

Первый шаг проверки UA: убедиться, что во всех точках, где поле доступно платформе, оно говорит одно и то же. Второй шаг: сверить его с устройством, регионом и другими параметрами. Сначала разберём три канала, через которые платформа читает UA, затем четыре типа сигналов несовпадения. В конце будет чек-лист из пяти контрольных пунктов и настройки в антидетект-браузере.

Три канала, через которые платформа читает UA

Одно и то же значение UA платформа фактически читает в трёх местах: заголовки HTTP-запросов, заголовки Client Hints, скрипты страницы. Каналы независимы друг от друга, и каждый можно проверить отдельно.

При отправке запроса строка UA в заголовках становится самым ранним каналом: сайт читает её ещё до того, как получит страницу. Начиная с версии 89 Chrome выносит данные об устройстве в отдельную серию заголовков Sec-CH-UA. Бренд браузера, платформа и версия платформы передаются в отдельных заголовках, которые сайт запрашивает по мере необходимости. Документация MDN по Client Hints подробно описывает структуру этих заголовков.

Третий канал находится в скриптах страницы. navigator.userAgent и navigator.userAgentData снова сообщают сведения о браузере и платформе уже изнутри страницы. В теории все три показания совпадают посимвольно. Если изменить одно из них, два других сами по себе не изменятся.

Расширения для подмены UA спотыкаются именно здесь. Большинство из них заменяет строку UA только в заголовках, а скрипт страницы читает исходное значение, и два канала немедленно расходятся. Чтобы обнаружить такое противоречие, не нужно ничего сложного: скрипту риск-анализа достаточно взять два показания и сравнить их.

Стоит упомянуть и общий контекст. Chrome постепенно замораживает информацию в старой строке UA: младшая часть номера версии уже зафиксирована, а больше деталей перенесено в Client Hints. Простора для манипуляций только со строкой UA становится меньше. На первый план выходит то, сходятся ли каналы между собой.

Схема трёх каналов чтения UserAgent

Что выдают несовпадения UA: четыре типа сигналов

Сам по себе UA не бывает поддельным или настоящим: слабое место видно только в комбинации сигналов. Большинство несовпадений при проблемах с окружением попадает в четыре категории ниже.

Первый тип: каналы противоречат друг другу. В заголовках указан Chrome 126, а скрипт страницы читает Chrome 118; либо бренд, заявленный в Sec-CH-UA, не совпадает с тем, что возвращает navigator.userAgentData. У таких показаний практически одно объяснение: UA меняли точечно, и правка не покрыла все каналы.

Второй тип: заявление противоречит аппаратным параметрам. В UA указан iPhone, а экран показывает настольное разрешение 1920×1080 при нуле точек касания; UA декларирует Windows, а GPU-рендерер сообщает чип Apple. Аппаратные параметры это измерения из реального окружения, а UA можно заполнить как угодно: при сверке несостыковка бросается в глаза гораздо сильнее самого UA. Как складываются такие противоречия по параметрам, разобрано в статье о том, почему рандомизация отпечатков небезопасна.

Третий тип: противоречие с окружением в целом. Выходной IP в США, но UA принадлежит браузеру с китайской локализацией, а список языков и часовой пояс указывают на другой регион. UA, система, язык, часовой пояс и IP должны складываться в один региональный профиль: если один элемент выбивается, сомнение падает на весь профиль. Такой конфликт заменой UA не решить, править нужно настройки окружения.

Четвёртый тип: несоответствие признакам транспортного уровня. Отпечаток TLS-рукопожатия похож на скриптовый инструмент или очень старую версию браузера, а в заголовках указан свежий Chrome. Признаки транспортного уровня подделать труднее, чем UA, и платформе недорого стоит сверить, соответствуют ли они друг другу.

Первых трёх типов можно избежать ещё на этапе настройки окружения. Четвёртый зависит от самого способа подключения. В регулярной самопроверке следите за первыми тремя: заметив противоречие в показаниях, возвращайтесь к настройкам.

Как провести проверку согласованности: пять контрольных пунктов

Проверка не привязана к одному сайту: пять пунктов идут по порядку.

1. Сверка каналов: откройте проверочную страницу из окружения, посмотрите в панели Network инструментов разработчика UA и Sec-CH-UA в заголовках, затем сверьте их с показанием navigator.userAgent в консоли: все три значения должны совпадать.

2. Сверка с оборудованием: тип устройства, заявленный в UA, сверяется по пунктам с разрешением экрана, поддержкой касаний, GPU-рендерером, числом ядер и объёмом памяти: какое устройство заявлено, таким должны быть и измерения.

3. Сверка по региону: язык в UA, список языков браузера, часовой пояс и выходной IP должны складываться в один региональный профиль, а заявление про мобильные устройства должно соответствовать признакам мобильной сети.

4. Сверка версий: версия браузера в UA должна попадать в основной диапазон целевого рынка; слишком новая версия или сборка нескольких лет назад это тревожный сигнал, и версия должна соответствовать поведению движка.

5. Записи повторных проверок: после изменения настроек снова пройдите проверочную страницу и сохраняйте показания каждого раза: когда в окружении снова что-то пойдёт не так, эти записи станут отправной точкой поиска.

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

Согласование UA в антидетект-браузере

При правках по пяти пунктам эффективнее всего генерировать UA вместе с сопутствующими параметрами, а не заполнять всё вручную по отдельности. MostMate это дружелюбный к новичкам AI-антидетект-браузер, который готовит отдельное окружение для каждого аккаунта, и согласованность UA как раз встроена в его процесс настройки. Перед началом работы можно пройти весь порядок создания в описании продукта MostMate.

При создании окружения сначала выбираются операционная система и версия браузера, User-Agent генерируется автоматически и при необходимости редактируется. Для языка, часового пояса и геолокации по умолчанию стоит режим «настройка по IP»: выберите исходящий прокси, и региональная комбинация этих пунктов с UA сойдётся сама. Панель предпросмотра отпечатка в реальном времени показывает текущие значения User-Agent и остальных параметров. Согласованность всей конфигурации видно уже на этапе создания окружения, не нужно запускать его и возвращаться к правкам.

Настройка UA и отпечатка по IP в MostMate

Гранулярность настройки тоже можно выбрать самостоятельно. В ручных настройках отпечатка одиннадцать пунктов, включая UA, экран, часовой пояс и язык, и каждый выбирается отдельно, а рекомендуемая конфигурация на главной странице сайта собирает согласованное окружение по логике устройства. У каждого пути свои сценарии применения.

Список окружений MostMate

Важно обозначить границы. Согласованность UA с настройками окружения устраняет лишь один тип сигналов раскрытия. Будет ли аккаунт связан платформой с другими, зависит ещё от правил платформы, связей между аккаунтами и поведения при использовании: настройка окружения закрывает только уровень самого окружения.

Схема согласованной настройки UA и параметров окружения

Частые вопросы

Почему после установки расширения для подмены UA становится только заметнее?

Расширение обычно меняет только один канал, заголовки запросов, тогда как скрипты страницы и Client Hints читают исходные значения. Стоит каналам разойтись, и «UA меняли» буквально записано в показаниях. Само противоречие уже аномальный сигнал, куда заметнее, чем неизменённый UA.

Чем новее версия в UA, тем лучше?

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

Можно ли использовать мобильный UA в настольном окружении?

Можно, но разрешение экрана, поддержка касаний и память устройства должны настраиваться под мобильное устройство вместе. Как эти параметры связаны, подробно сопоставлено в статье об отпечатке разрешения экрана и размера окна.

Если проверочный сайт показывает согласованность UA, проблем нет?

Показания проверочных сайтов в основном покрывают параметры, доступные скриптам страницы: признаки транспортного уровня и часть деталей Client Hints могут в них не попасть. Надёжнее делать выводы после всех пяти контрольных пунктов.

Заключение

Цель проверки UA в том, чтобы три канала и всё окружение в целом не противоречили друг другу. Каналы сходятся между собой, заявления совпадают с аппаратными измерениями, региональная комбинация складная, диапазон версий правдоподобен. Пройдите пять контрольных пунктов по порядку, и большинство слабых мест на уровне UA будет устранено до запуска окружения. Проверка до запуска обходится дешевле всего.

Прогнать эту проверку при создании нового окружения до входа аккаунта гораздо проще, чем потом менять UA после капчи. Чтобы управлять окружениями по такому порядку, скачайте MostMate: от выбора системы и настройки прокси до сверки предпросмотра отпечатка, UA и всё окружение настраиваются за один проход.

MOSTMATE

Безопасное управление аккаунтами — это просто

Начните с первого аккаунта и выстройте с MostMate более безопасную, умную и эффективную работу с несколькими аккаунтами.

  • Независимые профили. Согласованные цифровые идентичности.
  • ИИ-автоматизация · Состояние аккаунтов · Командная работа
Скачать MostMate