Друзья, предлагаю вашему вниманию перевод статьи «How to bypass “slider CAPTCHA” with JS and Puppeteer» автора Filip Vitas.

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

Капчи отстой. Скажем прямо. Есть много способов прохождения верификации и каждый из них плох.

В последние годы боты умнеют с каждым днем, и защитить от них сайт становится непросто. При достаточном количестве времени и ресурсов можно обойти почти любую капчу. К Puppeteer есть плагины для прохождения Recaptcha. Некоторые компании предоставляют сервисы специально для этого. Например, 2Capcha. Вот как можно использовать Puppeteer и 2Captcha.

Есть сайты, где в качестве альтернативы используется капча со слайдером (“сдвиньте ползунок для верификации”). Но зачем кому-то вообще использовать настолько простую капчу с ползунком?

Причины следующие:

  • Большинство ботов работают не на JS, поэтому вы можете их остановить
  • Слайдер более «дружелюбен» к пользователю
  • Для пользователей мобильных устройств «свайпнуть» слайдер – привычное действие

Так что для людей слайдеры понятны и просты.

Давайте попробуем обойти кое-какие капчи со слайдером.

Передвиньте ползунок для отправки


jQuery используется в веб-формах, где есть элемент “передвиньте ползунок для отправки”. Это альтернатива капче, предотвращающая спам при заполнении веб-форм.

image

Сперва мы заполняем поля ввода. Чтобы передвинуть этот слайдер, нам нужно:

  • навести курсор на центр ползунка
  • нажать кнопку мыши
  • передвинуть мышь
  • отпустить кнопку мыши

image

Готово. Это было просто.

Слайдер регистрации Dipbit


Dipbit – сайт для обмена цифровых валют. Обе страницы – и ввод логина, и регистрация – содержат элемент “передвиньте ползунок для верификации”.

image

Dipbit пытается быть немного умным, поэтому нам нужно добавить код для сокрытия работы Puppeteer.

image

image

Taobao


Taobao – китайский сайт онлайн-покупок, принадлежащий Alibaba. Их слайдер регистрации похож на аналогичный у Dipbit. Единственное отличие – регистрационная форма находится внутри