reCAPTCHA v3: как сайты оценивают посетителей без задания
reCAPTCHA v3 не показывает задание. Она работает в фоне на странице, наблюдает за посетителем и возвращает оценку от 0.0 до 1.0, где более высокое число означает, что посетитель, скорее всего, человек. Решение о том, что делать с оценкой, принимает серверная часть сайта. Например, форма регистрации может пропустить посетителя с оценкой 0.7 и заблокировать при 0.3. Поддержка reCAPTCHA v3 в Scarnox скоро появится. Это руководство объясняет, как работает оценка, и какими законными способами не давать автоматической работе получить оценку бота.
Как формируется оценка
Страница загружает скрипт reCAPTCHA и вызывает его для действия, например login или signup. Скрипт собирает сигналы в браузере, отправляет их в Google, и тот возвращает токен. Серверная часть сайта затем отправляет токен в конечную точку проверки Google вместе со своим секретным ключом и получает обратно оценку и название действия.
Оценка — это оценка риска, построенная на нескольких видах сигналов:
- окружение браузера, включая то, похоже ли оно на стандартный настольный браузер;
- поведение на странице, например движение мыши, прокрутка и тайминг;
- история посетителя на сайте, например предыдущие успешные сессии;
- паттерн запросов, включая то, как часто и быстро запросы приходят с одного адреса.
Точный вес сигналов не опубликован и меняется. Публично известен контракт: сайт выбирает порог, а оценка определяет результат.
Почему автоматизация получает низкую оценку
Автоматизированный трафик обычно получает низкие оценки по предсказуемым причинам. У headless-браузера с настройками по умолчанию необычные сигналы. У новой сессии нет истории. Быстрый, регулярный паттерн запросов не похож на просмотр человеком. Адреса датацентров вызывают больше подозрений, чем домашние подключения. Каждый из них — сигнал, и несколько вместе могут опустить оценку ниже порога.
Поскольку видимого задания нет, низкая оценка часто означает тихий отказ. Страница загружается, форма отклоняется, и ничего не говорит, почему. Настройте логирование так, чтобы видеть ошибку со стороны сервера.
Законные способы сохранить хорошую оценку
Эти подходы предназначены для вашей собственной работы и законного сбора данных:
- Используйте настоящий профиль браузера. Обычный браузер с обычными настройками и расширениями реже получает оценку бота, чем голая headless-сборка. Руководство по отпечаткам браузера объясняет, как читается окружение браузера.
- Держите сессии теплыми. Сохраняйте cookie между запросами и не начинайте каждую страницу с пустого состояния.
- Соблюдайте паузы. Живые посетители не загружают сто страниц в секунду. Добавляйте задержки и случайно варьируйте их в разумных пределах.
- Избегайте очевидных подсказок. User-Agent по умолчанию, отсутствующие языковые настройки и несогласованные размеры экрана — простые сигналы, которые легко исправить.
- Проверяйте относительно собственного порога. Если вы управляете сайтом, смотрите оценку на стейджинге и проверяйте, какие сигналы ее снижают. Тестовые ключи Google полезны для проверки интеграции без реального подсчета оценки.
Эти шаги снижают ложные срабатывания в настоящей работе. Они не являются способом подделать оценку человека для злоупотреблений, и ни один подход здесь не меняет того факта, что порог выбирает владелец сайта.
Что оценка не делает
Оценка не доказывает, что посетитель — человек, и не говорит, почему посетитель получил низкую оценку. Низкая оценка может возникнуть из-за необычного, но законного браузера, общей сети или VPN. Рассматривайте оценку как один из входных данных. Если ваша законная задача постоянно получает низкую оценку, честный ответ часто — попросить владельца сайта добавить вас в список разрешенных или предоставить API.
Где находится Scarnox
Scarnox сегодня не решает reCAPTCHA v3 в режиме онлайн. Единственный живой тип задачи — PopularCaptcha без прокси. reCAPTCHA v3 скоро появится. Решателю на основе оценки нужно вернуть токен, который сайт примет, — это другая задача, чем решение видимой головоломки, поэтому детали интеграции будут описаны в справочнике API, когда поддержка появится.
Создайте аккаунт и начните с бесплатного пробного баланса, карта не нужна, и вы будете готовы, когда тип станет доступен.
Чтение оценки в собственных логах
Поскольку видимого задания нет, единственный способ понять неудачу из-за оценки — записывать ее в логи. На собственном сайте записывайте оценку, название действия и флаг успеха, которые получает ваша серверная часть от вызова проверки, вместе с временной меткой запроса и путем, с которого он пришел. За неделю трафика обычно становится видно, какие страницы или потоки получают низкие оценки. Поток, который всегда получает низкую оценку, может быть реальной проблемой для обычных пользователей, например шаг регистрации, который происходит слишком быстро после загрузки страницы, а не проблемой бота.
Также сравнивайте оценки для одного и того же действия в разных браузерах и сетях. Если обычный посетитель из домашней сети получает хорошую оценку, а тот же посетитель из корпоративного VPN — плохую, оценка реагирует на сеть, а не на браузер, и решение — разговор о доступе, а не изменение автоматизации.
Не храните в логах персональные данные. Оценки и названия действий достаточно, чтобы диагностировать большинство проблем, а хранение лишнего создает обязанность по защите данных, которую вам не нужно.
Ответственный парсинг
Проверьте robots.txt и условия сайта перед задачей парсинга. Держите низкую частоту, не собирайте персональные данные, которые вам не нужны, и помните, что проверка по оценке — это выбранный сайтом способ защиты. Обход такой проверки в большом объеме — признак того, что задачу стоит пересмотреть или согласовать с владельцем. Руководство о законности парсинга охватывает общую картину.