Что такое капча (CAPTCHA)?
- Категория: Что такое?
- – Автор: Игорь (Администратор)
В рамках данного обзора, я расскажу вам что такое капча, а так же про связанные с ней особенности.
Когда-то давно в интернете сайты были статичными, а пользователи никак не могли взаимодействовать с его контентом (содержимым). В нынешнее же время практически каждый сайт предполагает, что пользователь может зарегистрироваться в нем, оставлять комментарии, писать заметки, добавлять фотографии, использовать какие-то услуги и тому подобное.
Однако, вместе с сетью, подросли возможности самих компьютеров, что породило немало проблем. Так, например, в интернете можно встретить ботов - специальные программы, которые имитируют действия человека (пишут комментарии, щелкают по определенным элементам сайта и прочее).
Поэтому возникла необходимость в механизме, который помог бы защититься от подобного и был бы доступен каждому автору сайтов. Так и появилась капча.
Но, обо всем по порядку.
Что такое капча (CAPTCHA) и зачем она нужна?
Определение
Капча (CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart, полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) - специальный компьютерный тест, который позволяет определить человек ли совершил действие или же это сделала программа.
Простыми словами, суть капчи в том, что для выполнения некоего действия, например, публикации комментария или регистрации, необходимо в основной форме ввода дополнительно пройти тест, очевидный и легко решаемый человеком, но крайне сложный для программы.
Например, одним из самых простых видов капчи является установка галочки напротив пункта "я человек" (и любых подобных фраз). Пользователь сайта легко распознает необходимость выбора такого пункта (даже если внешний вид будет крайне специфическим). А вот для программ, которые не учитывали наличие подобной галочки в форме, это существенное усложнение, так как они действуют по заранее определенным алгоритмам.
Зачем нужна капча?
Как уже было ранее сказано, необходимость капчи возникла из-за того, что в интернете появилось много программ, которые имитируют действия людей. При этом, не сложно догадаться, что большая часть активности таких программ - это различный спам, накрутка рейтингов и тому подобный "хлам", который лишь снижает полезность сайтов.
Однако, это не единственная возможная причина. Например, капча позволяет обучать программы с искусственным интеллектом (ИИ) распознавать тексты. В этом случае, пользователю, в качестве теста, предлагают вписать в поле ввода те слова, которые отображены на картинке (фрагмент из какого-нибудь документа). Смысл в том, что если подобной системой пользуются миллионы людей, то обучать программу с ИИ становится существенно проще. Как говорится, чем больше рук, тем быстрее дело делается.
Так же капча может использоваться как первичная защита от простых спаммеров (тех, кто рассылает спам), ведь задача последних собрать для рассылки большое количество сайтов со слабой защитой (или вообще без нее). Поэтому, если они видят, что в сайте используется сложная или специфическая капча, под которую еще потребуется "подкрутить" программу, то им проще проигнорировать такой сайт.
Виды капчи?
Часто встречаемые виды капчи:
1. Выполнить простое действие. Например, поставить галочку, вписать требуемое число и тому подобное.
2. Логическая капча. В данном случае необходимо решить какую-то простую логическую задачу. Например, посчитать элементарное математическое выражение, выбрать нужную картинку из нескольких, составить изображение из кусочков и тому подобное.
3. Распознавание текста или образов. Пользователю отображаются картинки с текстом (цифрами, символами) или с какими-то объектами (улицы, поля, животные). И задача в том, чтобы корректно их распознать. В случае текста, это ввод в поле. В случае с образом, изображение делится по сетке, в которой необходимо указать области с объектом.
4. Специфические. Данный вид встречается нечасто, так как обычно это вызывает дополнительные трудности у пользователей сайта. Например, комбинация нескольких видов. Допустим, нужно одновременно поставить галочку и выполнить логическую задачу. В чем тут заковырка. С одной стороны, ничего сложного в этой капчи нет. Но, с другой стороны, многие пользователи привыкли выполнять только один какой-то тест, что вызывает неудобства (например, из-за привычки, по нескольку раз приходится отправлять сообщения).
Требования к капче
Вот несколько основных требований к капче, о которых стоит знать:
1. Дизайн. Какая бы простая не была задача в капче, но если дизайн не совпадает с основным стилем сайта, то это может вызывать неудобства (часть пользователей из-за этого может даже перестать пользоваться функциями сайта). Специфика тут в том, что это вроде механизм защиты, но от него так же требуется дизайн.
2. Удобство использования. В интернете более 1 миллиарда веб-ресурсов (уже даже ближе к 2). Это означает, что однотипных сайтов много (с одной и той же информацией и функциональностью). Поэтому, если пользователям из-за капчи неудобно совершать некие типовые действия (например, приходится с лупой разглядывать картинки), то им будет не сложно найти альтернативу (если, конечно, исходный сайт не является чем-то уникальным).
3. Стойкость подхода. В связи с тем, что капча известна аж с 2000 года и используется во многих сайтах, не сложно предположить, что различные ее виды научились обходить. Поэтому, как и от любого механизма защиты, от капчи требуется сложность исходной задачи. Например, некоторые типы картинок с текстом уже давно и без особых проблем распознаются ботами.
4. Отсутствие возможности угадать. Важно понимать, что "метод тыка" существует издревле. Поэтому, капча не должна быть такой, что ее можно с определенной вероятностью просто угадать. Например, если механизм генерирует математические задачки с ответами в диапазоне от 1 до 10, то это означает, что боту совершенно не обязательно взламывать капчу, можно просто отправлять сообщения с одной и той же цифрой. При равномерном распределении, одно из десяти сообщений будет проходить такую защиту.
Как обойти капчу?
Рассмотрим несколько известных методов обхода капчи:
1. Использование проблем капчи. Например, капча сделана с ошибками, позволяющими вообще ничего не вводить, или же существует легкий метод ее обхода, такой как ввод универсального ответа.
2. Угадывание. Как уже говорилось, некоторые виды капчи подразумевают возможность угадывания ответа.
3. Базы ответов. Суть проста. Если вопросы и картинки не динамически генерируются, а являются фиксированными, то вполне возможно составление базы типовых ответов.
4. Автоматические методы. Распознавание текстов и изображений это тематика, которую изучают уже достаточно длительное время. Поэтому нет ничего удивительного в том, что появилось немало механизмов, позволяющих в автоматическим режиме решать подобные задачи. Так же этот пункт включает в себя различные специфические подходы. Например, распознавание полей (та же галочка "я человек") и тому подобное.
5. Ручное распознавание. Так как интерес к обходу данного вида защиты достаточно высок, то в интернете уже давно существуют специальные сайты для ручного распознавания. Алгоритм примерно такой. Бот открывает сайт, копирует картинку капчи, отправляет ее в специальный сайт, где люди ее вручную распознают и отправляют результат боту, после чего бот вводит необходимые данные.
Примечание: В связи с тем, что мощности компьютеров стали существенно больше, обычно совместно с ручным распознаванием используются иные методы, такие как базы ответов.
Нужна ли сайтам капча?
На самом деле вопрос сложнее, чем может казаться. Во-первых, ко многим видам капчи уже созданы системы для обхода. Во-вторых, сайтов становится все больше, поэтому им приходится предоставлять более удобные механизмы (например, немало интернет-ресурсов поддерживают интеграцию с социальными сетями и создание аккаунта в один щелчок). В-третьих, если раньше пользователям было не сложно распознать несколько слов с картинок или решить простую задачу (это считалось обыденным), то в нынешнее время, к счастью или к сожалению, даже галочку отметить уже бывает лень.
Кроме того, существуют механизмы безопасности, вообще не требующие от пользователей дополнительных действий. Например, специальные маркеры, которые добавляются в страницу сайта, фильтрация технических параметров (название браузера, ip-адреса,...) и тому подобное. Справедливости ради, стоит отметить, что эти методы так же не предоставляют стопроцентных гарантий.
Поэтому, вопрос использования капчи в сайте все больше становится индивидуальным. Например, если автор сайта не хочет сильно усложнять сайт (или это нерационально; или просто не умеет), то капча является вполне неплохим решением для защиты. При этом спам будет, но в меньшем количестве, чем без защиты.
Теперь, вы знаете что такое капча, а так же некоторые особенности.
☕ Понравился обзор? Поделитесь с друзьями!