Scarnox · Blog

Типы капчи и какие из них может решить сервис

Существует несколько основных типов капчи. Одни просят посетителя что-то прочитать или выбрать, другие проводят проверки в фоновом режиме, а третьи сочетают виджет с серверной проверкой. Тип определяет, как скрипт может пройти капчу, а поддержка типа решателем определяет, можно ли его использовать. Этот гайд перечисляет основные типы, объясняет, как работает каждый из них, и указывает текущий статус поддержки Scarnox.

Коротко: сегодня у Scarnox есть один живой тип задачи — PopularCaptcha, proxyless. Остальные типы скоро появятся, и разделы ниже подскажут, какие именно.

Статус поддержки одним взглядом

Тип капчиКак работаетСтатус в Scarnox
Виджет PopularCaptchaВиджет, который записывает токен в h-captcha-responseРаботает (proxyless)
Текстовые и картиночные челленджиНужно прочитать или выбрать символы и объектыНе является живым типом задачи
АудиочелленджиРасшифровать озвученный фрагментНе является живым типом задачи
Google reCAPTCHA v2Чекбокс, а при подозрении картиночные челленджиСкоро
Google reCAPTCHA v3Оценка по поведению, без челленджаСкоро
Cloudflare TurnstileНеинтерактивные проверки в браузереСкоро
Arkose Labs (FunCaptcha)Игровые enforcement-челленджиСкоро
GeeTestСлайдеры и головоломки-пазлыСкоро
Капча AWS WAFПазловые челленджи от AWS WAFСкоро

Прежде чем строить что-либо под конкретный тип, сверьтесь с гайдом по API решателя капчи и справочником API. Эта таблица отражает статус на момент написания.

Текстовые капчи

Текстовая капча показывает искажённые символы, которые нужно ввести. Искажение призвано помешать простому оптическому распознаванию. Это самый старый тип, сегодня он редок на крупных сайтах, но ещё встречается в небольших формах и старых системах.

Картиночные капчи

Картиночная капча просит выбрать все плитки, на которых есть объект, например светофоры, пешеходные переходы или витрины. Задача — это классификация, а продвинутая версия может требовать несколько раундов. Инструменты парсинга и автоматизации часто натыкаются на них на высоконагруженных сайтах. Гайд по OCR для текстовых и картиночных капч охватывает сторону чтения этой задачи.

Аудиокапчи

Аудиокапча проигрывает озвученную последовательность цифр или слов, обычно как вариант доступности. Звук искажён шумом. Такие капчи существуют в основном как альтернатива для пользователей, которые не могут видеть визуальную задачу, поэтому их стоит предлагать вместе с доступными альтернативами, а не заменять автоматизацией.

Пазловые капчи

Пазловые капчи требуют физического действия: вставить кусочек в зазор, повернуть изображение в вертикальное положение или перетащить фигуру. Слайдер-пазлы распространены, а GeeTest — известный провайдер таких капч. Ответ берётся из позиции или угла, и челлендж часто проверяет не только конечную точку, но и то, как было сделано перетаскивание.

Невидимые и основанные на оценке капчи

Некоторые капчи работают без видимой задачи. Браузер выполняет проверки в фоне, а сайт по результату решает, показывать ли вообще челлендж. Именно это подразумевают под «невидимой капчей». reCAPTCHA v3 идёт дальше и возвращает оценку, а не пройдено или нет. Гайд о невидимой капче объясняет, как невидимый режим влияет на интеграцию с решателем, а гайд о reCAPTCHA v3 score подробно описывает оценку.

Токен-виджеты

Токен-виджет — это виджет на странице, который выполняет свои проверки и записывает токен в скрытое поле формы. Сайт отправляет этот токен провайдеру или собственному бэкенду для верификации. Этот шаблон используют PopularCaptcha, reCAPTCHA v2 и Cloudflare Turnstile.

Именно этот тип решатель может обработать, не трогая визуальную задачу. Решатель формирует токен, а ваш код записывает его в форму. Поэтому интеграция PopularCaptcha занимает всего несколько строк. Гайд о решении капчи на Python показывает поток.

Enforcement-челленджи

Некоторые крупные сайты используют enforcement-челленджи, которые сочетают оценку риска с игровой головоломкой. Arkose Labs, которую часто называют FunCaptcha, — самый известный пример. Головоломки часто меняются, а движок оценки риска настраивается под каждый сайт, что усложняет работу с ними общим подходом.

Почему тип важен для вашего кода

Каждому типу нужен свой вид решателя:

Решателю, который заявляет, что «решает все капчи», стоит задавать вопросы. Спросите, какие типы он поддерживает в реальном времени и что делает с теми, которые не поддерживает.

Что делать с неподдерживаемым типом

Если нужной вам капчи нет в списке живых, у вас есть три реалистичных варианта:

  1. Снизить частоту, с которой она появляется, используя подходы из гайда о том, как избежать капчи при парсинге.
  2. Использовать тестовый ключ или staging-окружение, если капча защищает вашу собственную систему.
  3. Попросить владельца сайта об API, белом списке или доступной альтернативе.

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

Что дальше