Что такое капча: где и для чего используется CAPTCHA, как добавить её на свой сайт

13 сентября 2024 г.

Что Такое Капча

Капча – инструмент для защиты от роботов, предупреждающий активность ботов на сайтах. Это специальный тест, который определяет, кто посетитель: реальный человек или машина. CAPTCHA не является обязательной, но многие сайты предлагают пользователям искать гидранты, вводить странные слова и соединять части пазла, зачем? Рассказываем, что такое капча при регистрации и других действиях, где и для чего она используется, а также даем рекомендации по установке.

Капча – что это такое простыми словами

Капча – простое задание, которое поисковая система или сайт иногда просит выполнить пользователя при фиксации подозрительной активности. В качестве задачи может выступать математический пример, логическая загадка или же набор символов/букв, которые нужно ввести в поле. Цель – убедиться, что запрос поступает от живого человека, а не от робота.

В основе капчи лежит тест Тьюринга, помогающий определить, способна ли машина мыслить так, как это делают реальные люди. Во время создания (пятидесятые годы прошлого столетия) тест имел философский формат, ведь в то время искусственный интеллект пребывал в стадии развития. Суть простая: человек взаимодействовал с двумя собеседниками, один из которых – машина, второй – реальный. На основе ответов нужно было понять, кто есть кто. Задача программы – ввести в заблуждение. Если участник не мог дать ответ – машина победила.

Так выглядит капча на сайтеТак выглядит капча на сайте

На протяжении долгих лет ни одна программа не смогла пройти тест, но с развитием ИИ и нейросетей все изменилось. Так, в 2024 ChatGPT-4 убедил 54% участников эксперимента в том, что является человеком, а не программой. Естественно, нейросеть не обладает мышлением, она научилась идеально его имитировать.

Для чего используется и от чего защищает капча

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

  • DDoS-атак. Сервер сайта получает огромное количество запросов, которые не может обработать, в результате происходит падение. Запросы создают не люди, а армия ботов. В июне 2024 года подобной атаке подвергся МТС: она велась с 20 тысяч устройств на протяжении 2 часов, география запросов – от Турции до Китая. Конечно, капча – не панацея, но помогает противостоять DDoS;
  • спама. Боты способны выполнять рассылку неограниченного количества сообщений – от рекламы до «мусорных» месседжей. Они могут осуществлять назойливые действия, например, оставлять многочисленные негативные отзывы или писать нежелательные комментарии;
  • брутфорса. Речь идет об автоматизированном подборе логина/пароля для получения доступа;

Форма с hCaptchaФорма с hCaptcha

  • скрейпинга. Направлен на кражу как контента, так и интерфейса сайта. Боты ориентированы на копирование данных, например, цен, описаний или конфиденциальной информации;
  • кражи аккаунтов. Здесь все понятно: получение доступа, использование персональных данных, оформление заказов и другие вредоносные действия, наносящие не только моральный, но и финансовый урон.

Атаки могут касаться и e-commerce. Технология включает гринч-ботов (отсылка к похитителю Рождества) – программ, которые за несколько секунд покупают выгодные позиции, не оставляя ни одного шанса реальным клиентам. Инициатор кампании, запустивший ботов, перепродает выкупленное по существенно завышенной цене. Подобный случай был зафиксирован, когда Sony выпустила консоль PlayStation 5: она появилась в продаже в конце 2020 года и была распродана сразу. Оказалось, что покупателями стали перекупщики – компания CrepChiefNotify с численностью персонала 12 человек приобрела свыше 3000 консолей с применением софта для отслеживания товаров, пользующихся повышенным спросом.

Как выглядит GeeTest CAPTCHA, предлагающая сложить пазлКак выглядит GeeTest CAPTCHA, предлагающая сложить пазл

Как работает CAPTCHA

Капча является автоматизированный тестом Тьюринга, который может пройти человек, но не программа. CAPTCHA, независимо от вида, должна иметь 2 свойства:

  • она устойчива к распознаванию алгоритмом: реальный пользователь легко прочитает текст на картинке, компьютер – не сможет это сделать;
  • она устойчива к угадыванию. Здесь приоритетно угадывание с малым количеством попыток (до 1 тысячи): при минимальном наборе значений вероятность подбора правильного варианта повышается. Например, компьютер получает «запас» при определении картинок, на которых изображена собака, или же решении простейшего примера (1 + 3 = ?).

Капча может быть представлена в разных форматах, понятных для человека: «Кто такой Лермонтов», «Выберите цвет, максимально близкий к изображенному на картинке», «Отметьте все картинки, на которых есть лестница» (часто отображается в Google reCAPTCHA). Исполнение зависит от фантазии создателя, однако капча должна не только отсеивать роботов, но и не провоцировать отказы реальных посетителей, которые точно уйдут с сайта, если будут тратить много времени на отгадывание загадок или попытку ввести нечитаемый текст с картинки в строку.

Rotate Captcha: для решения нужно переворачивать изображениеRotate Captcha: для решения нужно переворачивать изображение

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

Почему пользователь видит капчу

Все зависит от индивидуальных параметров, иногда CAPTCHA отображается, когда пользователь осуществляет определенные действия, в другом случае – при неестественной активности. Разберем на примерах:

  • используется VPN. Минуту назад посетитель заходил на сайт из Москвы, теперь запрос поступает из Пекина. Сайту или поисковику это не нравится – запускается проверка на роботов;
  • повышенная активность на сайте, когда пользователь добавляет комментарии, пишет отзывы, ставит лайки в неестественно быстром режиме;
  • во время регистрации или покупки товара в онлайн-магазине, чтобы убедиться: посетитель человек, а не бот;
  • система определила, что осуществляется подбор пароля/логина. Она считывает активность и не пускает на сайт.

Если действия подозрительные – появляется капча, она не всегда удобна для пользователей, но обеспечивает как защиту их данных/комфорта, так и всего сайта.

Какие виды капчи существуют

Текстовая

Классический вариант CAPTCHA, привычный для большинства пользователей. Принцип работы максимальной простой: на стороне сервера генерируется случайный набор символов (иногда относятся к разным регистрам и дополнены цифрами), он трансформируется в изображение, а потом деформируется. Деформация включает в себя искажение, например, символы расположены в виде волны, перечеркнуты или скрыты легким искажением. Задача – правильно прочитать текст и ввести в поле. Формат сохраняет популярность до сих пор, хотя стал более человеколюбивым: можно запросить повторную генерацию, прослушать аудио или обратиться в техподдержку в один клик.

  Текстовая CAPTCHAТекстовая CAPTCHA

Логическая

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

Логическая капчаЛогическая капча

Звуковая

Не считается полноценной капчей – это дополнение, ориентированное на пользователей с ограниченными возможностями здоровья. Например, слабовидящий юзер не может прочитать задание из CAPTCHA на картинке – он инициирует озвучку или запрашивает альтернативный вариант. В качестве примера: после просушивания не нужно вводить символы в поле, а достаточно выбрать «Да/нет» для ответа на вопрос. Такие капчи являются хорошим решением для реализации инклюзивности, применяются активно.

Звуковая CAPTCHAЗвуковая CAPTCHA

Биометрическая

Формат не слишком популярен из-за повышенной персонализации. Пользователю предлагают просканировать отпечаток пальца, лицо или сетчатку глаза. Применяется в крупных компаниях, стремящихся обеспечить максимальную конфиденциальность. В обычной жизни близким примером является Face ID и аутентификация по отпечатку в смартфонах/планшетах, что для сайтов и поисковиков категорически не подходит.

Видеокапча

Формат отличается сложностью реализации, наиболее эффективный в вопросе противодействия роботам. Посетитель просматривает короткий видеоролик, а потом получает вопрос о содержании. Роботы не могут дать правильный ответ, но специальные настройки и негативная реакция реальных пользователей делают такую CAPTCHA редко использующейся.

reCAPTCHA

Была разработана в университете Карнеги Меллона не только для защиты сайтов от ботов, но и в рамках помощи в оцифровке текстов книг. В 2009 году ее приобрела компания Google, которая в 2011 использовала технологию для оцифровки архивов газет, а в 2015 капча была обновлена. Сейчас работает по такому принципу: пользователю необходимо отметить чекбокс «Я не робот», если этого недостаточно – появляются картинки, которые нужно выбрать с учетом заданных условий (гидранты, мотоциклы, автобусы, лестницы или что-то другое).

reCAPTCHAeCAPTCHA

Конечно, алгоритм фиксирует не только правильность выбора изображений. Он начинает работать еще в момент установления галочки в чекбоксе: движения мыши на стороне реального человека иные, чем в случае с роботами – это имитировать невозможно. Дополнительно анализируются IP-соединение, местонахождение и часовой пояс, куки и прочие параметры. Если первичные результаты являются неудовлетворительными – придется вновь искать автобусы и гидранты. Алгоритмы постоянно совершенствуются, в последних редакциях для анализа показателей привлекается искусственный интеллект.

Плюсы и минусы капчи на сайте

Плюсы

  1. Безопасность. Массовые атаки ботов, попытки кражи или копирования данных, спам, мошеннические действия – это факторы капча предупреждает, обеспечивая прозрачность интернет-взаимодействия и защиту конфиденциальной информации.
  2. Автоатаки. Усложнен доступ роботов и воздействие на уязвимость. Например, снижается риск угона аккаунтов и брутфорса, прочих неправомерных действий.
  3. Справедливость. Обычные пользователи получают возможность использовать ресурс без ограничений. Это особо актуально при действующих выгодных предложениях, например, боты не смогут выкупить все билеты со скидкой с целью дальнейшей перепродажи в три цены.
  4. Комфорт. Посетители сайта защищены от спама и мошеннические предложений, они не сталкиваются с ложными отзывами и комментариями, спамными ссылками и прочими проблемами.
  5. Требования. Капчи обеспечивают соблюдение базовых правовых и нормативных требований, касающихся конфиденциальности и безопасности.

Минусы

  1. Неудобно для посетителей. Пользователи не любят искать автобусы или же ломать голову над тем, что на картинке – кириллическая или латинская буква «А». При фиксировании активности, являющейся нетипичной с точки зрения системы, капча будет отображаться снова и снова – это отталкивает людей, они могут уйти на другой сайт.
  2. Ухудшение основных показателей. Минус касается владельца сайта: возрастают отказы, падает конверсия, ухудшается юзабилити.
  3. Неэффективность. Существует много разновидностей капчи, некоторые варианты демонстрируют уязвимость.

Как установить капчу на сайт

Подключение капчи на сайт предлагают поисковые системы – эта функция есть и у Яндекс, и у Google. У Яндекс инструмент доступен в SmartCaptcha в Yandex Cloud, рассмотрим, что требуется для установки:

  • вход в аккаунт Yandex Cloud или регистрация, если она еще не пройдена. Обязательно наличие платежного аккаунта (его тоже можно создать);
  • работа с CAPTCHA: в консоли управления Yandex Cloud нужно открыть каталог, кликнуть на Yandex SmartCaptcha и выбрать «Создать капчу»;

Создание капчиСоздание капчи

  • настройки основных параметров: указывается имя капчи, задается список сайтов, на которых будет осуществляться отображение. Внешний вид сервис предлагает оставить стандартным, хотя доступны отдельные настройки визуала;

Основные параметрыОсновные параметры

  • настройки по умолчанию: выбор основного и дополнительного заданий, которые будут решать посетители, указание сложности (рекомендована средняя). Есть возможность добавить варианты заданий, а также провести настройку правил для внешнего трафика: пользователи будут видеть разную капчу. На финише остается сохранить изменения.

На всех этапах есть подсказки и демонстрация, как CAPTCHA будет отображаться на стороне посетителя – ничего сложного. Следующий шаг – получение ключа, что тоже делается через консоль управления: следует зайти на Yandex SmartCaptcha и открыть список существующих капч, выбрать нужную и скопировать значения, отображенные в полях «Ключ сервера» и «Ключ клиента». Первый нужен для проверки ответов пользователей, второй – для вставки виджета на страницу. Далее, следуя инструкциям сервиса, выполняется добавление данных в код сайта, сохранение и проверка изменений. Механизм настройки в Google примерно такой же.

Получение ключаПолучение ключа

Какие альтернативы капчи существуют

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

  • создание сайта на надежной платформе/движке. Например, конструктор сайтов Craftum предлагает современную защиту от DDoS-атак, а также бесплатно предоставляет SSL-сертификат;
  • внедрение файерволов, умеющих блокировать подозрительный трафик, тем самым предупреждая атаки;
  • использование спам-фильтров, которые не допускают рассылки, а также блокируют их;
  • обеспечение функционала для защиты аккаунтов – от подтверждения по коду из СМС и двухфакторной аутентификации до сложных паролей.

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

В заключение

Капча – классический инструмент, позволяющий защитить сайт, данные, клиентов от атак со стороны ботов. Существует много разновидностей – легко подобрать формат, который будет эффективно отсеивать подозрительную активность, не отвлекая и не раздражая посетителей. Стоит отдавать предпочтение продвинутым вариантам, таким как reCAPTCHA, уделить внимание настройке и последующей проверке. До установки капчи, как и при внесении любых других изменений на сайт, рекомендуется осуществить фиксацию ключевых показателей, чтобы сравнить с результатами после запуска. Падение трафика, снижение активности пользователей или конверсии, рост процента отказов – признаки того, что что-то сделано не так и нуждается в дополнительной проверке/тестировании.