Что такое капча и как она работает? Разбор каждого типа

what is captcha - What Is CAPTCHA and How Does It Work?

Капча — это тест, который сайт использует, чтобы отличить человека от скрипта. Если вы нажимали «Я не робот», перепечатывали искажённые буквы с картинки или отмечали все квадраты со светофором, значит, вы её проходили. Многие капчи вы вообще не видите, потому что современные принимают решение в фоновом режиме и вмешиваются, только когда что-то выглядит подозрительно.

Так что же такое капча на практике? Вот как расшифровывается эта аббревиатура, шесть типов, с которыми вы реально столкнётесь, и как каждый из них принимает решение.

Что означает CAPTCHA

CAPTCHA — это сокращение от Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей. Длинное название, простая идея: показать задачу, которая людям даётся легко, а программам — трудно.

Половина “сложно для программ” — это та часть, которая постоянно меняется. Головоломки с искажённым текстом были действительно трудны для машины в 2003 году. Распознавание символов подтянулось, поэтому тесты перешли к изображениям, затем к поведению, а затем к оценке вас вообще без показа чего-либо. Каждое поколение существует потому, что предыдущее перестало работать.

Шесть типов, с которыми вы действительно столкнётесь

Почти каждая капча в интернете — одна из этих.

1. Текстовая капча

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

2. Выбор изображения

Сетка фотографий и инструкция: выберите автобусы, пешеходные переходы, велосипеды. Это тот формат, который большинство людей представляют, услышав это слово. Обычно это’ reCAPTCHA повышает уровень проверки, потому что что-то в запросе уже выглядело автоматизированным.

3. Чекбокс

Флажок “Я не робот”. Сам клик почти ничего не доказывает. Важно всё, что измеряется вокруг него: как пришёл курсор, как выглядит браузер, чем этот IP занимался в последнее время. Прошли — и вы внутри. Не прошли — получаете сетку картинок.

4. Невидимая

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

5. На основе оценки

Никакой головоломки ни на одном этапе. Система возвращает число, оценивающее, насколько взаимодействие похоже на человеческое, а сайт сам решает, что с ним делать: пропустить, показать проверку или заблокировать. Для посетителей это проще, а для тех, кто это внедряет, — заметно больше работы, ведь теперь логика порога принадлежит самому сайту.

6. Cloudflare Turnstile

Альтернатива от Cloudflare, созданная для проверки с минимально возможным видимым взаимодействием. Она появляется как небольшой виджет внутри формы или как полностраничная промежуточная проверка (interstitial), пока выполняется задание. Наша страница о Cloudflare Turnstile рассказывает, чем эти два режима различаются на практике.

Вы можете попробовать «живые» версии всех этих на нашей Демо-страницы капчи.

Как капча принимает решение

На странице капча обычно представлена одним контейнерным элементом и одним скриптом:

<!-- A reCAPTCHA v2 checkbox: one div, one script. -->
<div class="g-recaptcha" data-sitekey="YOUR_SITEKEY"></div>

<script src="https://www.google.com/recaptcha/api.js"
        async defer></script>

<!-- On success the widget writes a token into a hidden field
     called g-recaptcha-response, which posts with the form. -->

Видимая головоломка, если она вообще есть, — это самая малая часть. За ней провайдер взвешивает сигналы, с которыми вы никогда не взаимодействуете напрямую:

  • движения мыши, прокрутка и ритм набора текста
  • характеристики браузера и устройства
  • сколько запросов пришло с этого IP и что они делали
  • cookie и предыдущая история с провайдером
  • тайминг, например форма, отправленная быстрее, чем человек мог бы её прочитать

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

Зачем сайты используют капчу

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

Обычные цели:

  • спам через формы обратной связи и комментариев
  • регистрация фейковых аккаунтов
  • перебор учётных данных на страницах входа
  • парсинг контента, цен или списков товаров
  • злоупотребление бесплатными пробными периодами, купонами и розыгрышами
  • оформление заказа и скупка товарных запасов

Капча не делает всё это невозможным. Она делает это достаточно дорогим, чтобы большинство случайных попыток ушло в другое место.

Почему они раздражают людей

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

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

В этом и состоит настоящий компромисс. Усильте защиту — и вы блокируете больше злоупотреблений, но и больше клиентов. Именно поэтому отрасль продолжает двигаться к невидимым проверкам на основе оценки: та же защита, но меньше её направлено на людей, которые никогда не были проблемой.

Капча — это один слой, а не вся защита

Современные анти-бот системы редко ограничиваются одной капчей. Вокруг неё — ограничение частоты запросов, репутация IP, браузерный фингерпринтинг, проверки устройства, поведенческий анализ и мониторинг сессий.

Вот почему два сайта, использующие одного и того же провайдера, ведут себя совершенно по-разному. Провайдер поставляет сигнал. Каждый сайт задаёт свои пороги и своё решение о том, чего вам должен стоить слабый сигнал.

Это также объясняет досадную асимметрию, когда один сайт пропускает вас сразу, а другой показывает вам четыре сетки изображений подряд на том же соединении.

Часто задаваемые вопросы

Что такое капча простыми словами?

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

Зачем сайты используют капчу?

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

Какие основные типы капчи существуют?

Текстовая, выбор изображений, чекбокс, невидимая, на основе оценки и Cloudflare Turnstile. Первые две показывают вам задачу. Остальные решают в основном или полностью на основе сигналов, которых вы никогда не видите.

Всегда ли капча видима?

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

Останавливает ли капча всех ботов?

Нет, и это не является её целью. Она повышает стоимость автоматизации. Настойчивые злоумышленники всё равно проходят, и именно поэтому она используется вместе с ограничением частоты запросов, фингерпринтингом и проверками репутации, а не вместо них.

Сводка

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

Реализация от Google — это та, с которой вы столкнётесь чаще всего, и ей посвящён отдельный разбор в что такое reCAPTCHA и как она работает. Если вы находитесь по другую сторону — обрабатываете капчи внутри краулера или набора тестов — см. Обработка капчи для парсинга. Сам CapSkip является безлимитный сервис распознавания капчи который работает на вашем собственном компьютере.