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 детально розглядає оцінювання.

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

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

Це тип, який солвер може обробити, не торкаючись візуального виклику. Солвер створює токен, а ваш код записує його у форму. Саме тому інтеграція PopularCaptcha займає лише кілька рядків. Посібник з розв'язання капчі на Python показує цей потік.

Enforcement-виклики

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

Чому тип важливий для вашого коду

Кожен тип потребує іншого солвера:

До солвера, який стверджує, що «розв'язує всі капчі», варто ставитися з недовірою. Запитайте, які типи він підтримує в реальному часі і що робить з тими, які не підтримує.

Що робити з непідтримуваним типом

Якщо потрібної вам капчі немає в списку чинних, у вас є три реалістичні варіанти:

  1. Зменшити частоту її появи, використовуючи підходи з посібника про уникнення капчі при скрапінгу.
  2. Використати тестовий ключ або staging-середовище, якщо капча захищає вашу власну систему.
  3. Попросити власника сайту про API, allowlist або доступну альтернативу.

Підтримка типів, що скоро з'являться, у роботі. Створіть обліковий запис і почніть з безкоштовного пробного кредиту, картка не потрібна. Тоді ви будете готові використати кожен тип, щойно він запрацює.

Наступні кроки