Оцінка 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, відсутні мовні налаштування та неузгоджені розміри екрана - це легкі сигнали, які можна виправити.
- Тестуйте з власним порогом. Якщо ви керуєте сайтом, читайте оцінку на staging і перевіряйте, які сигнали її знижують. Тестові ключі Google корисні для тестування інтеграції без реальної оцінки.
Ці кроки зменшують хибні спрацьовування на легітимній роботі. Вони не є способом підробити людську оцінку для зловживань, і жоден підхід тут не змінює того факту, що поріг визначає власник сайту.
Чого оцінка не робить
Оцінка не доводить, що відвідувач - людина, і не пояснює, чому відвідувач отримав низьку оцінку. Низька оцінка може походити від незвичайного, але легітимного браузера, спільної мережі або VPN. Сприймайте оцінку як один із вхідних даних. Якщо ваша легітимна робота стабільно має низьку оцінку, чесна відповідь часто - попросити власника сайту додати вас до списку дозволених або надати API.
Де стоїть Scarnox
Scarnox сьогодні не розв'язує reCAPTCHA v3 у роботі. Єдиний тип завдання, який працює, - це PopularCaptcha без проксі. reCAPTCHA v3 скоро з'явиться. Розв'язувач, що працює з оцінкою, має повернути токен, який приймає сайт, а це інша задача, ніж розв'язання видимої головоломки, тож деталі інтеграції будуть описані в довідці по API, коли підтримка з'явиться.
Створіть обліковий запис, щоб почати з безкоштовного пробного кредиту, картка не потрібна, і бути готовими, коли цей тип стане доступним.
Читання оцінки у власних логах
Оскільки видимого завдання немає, єдиний спосіб зрозуміти невдачу, пов'язану з оцінкою, - це її логувати. На власному сайті записуйте оцінку, назву дії та прапорець успіху, які отримує ваша серверна частина від виклику перевірки, разом із міткою часу запиту та шляхом, з якого він прийшов. За тиждень трафіку зазвичай видно, які сторінки або потоки отримують низькі оцінки. Потік, який завжди має низьку оцінку, може бути справжньою проблемою для звичайних користувачів, наприклад кроком реєстрації, що відбувається занадто швидко після завантаження сторінки, а не проблемою з ботами.
Порівнюйте також оцінки для однієї дії в різних браузерах і мережах. Якщо звичайний відвідувач з домашнього з'єднання отримує добру оцінку, а той самий відвідувач у корпоративному VPN - погану, оцінка реагує на мережу, а не на браузер, і вирішення
- це розмова про доступ, а не зміна автоматизації.
Тримайте логи вільними від персональних даних. Оцінки і назви дій достатньо, щоб діагностувати більшість проблем, а зберігання зайвого створює зобов'язання щодо приватності, якого ви не хочете.
Скрапінг відповідально
Перевіряйте robots.txt і умови сайту перед завданням зі скрапінгу. Тримайте низьку частоту запитів, уникайте збору персональних даних, яких вам не потрібно, і пам'ятайте, що перевірка за оцінкою - це спосіб, яким сайт сам себе захищає. Обхід її у великому масштабі - ознака того, що завдання варто переглянути або погодити з власником. Посібник про законність веб-скрапінгу розглядає ширшу картину.