Ка́пча[1] (от CAPTCHA — англ. Completely Automated Public Turing test to tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) — компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером.
Термин «Капча» появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которая с лёгкостью решается человеком, но крайне сложна и трудоёмка для компьютера. По состоянию на 2013 год каждый день пользователями по всей планете вводится примерно 320 миллионов «капчей»[2].
CAPTCHA — товарный знак университета Карнеги — Меллона, разработавшего данный тест.
Варианты реализации
правитьВ наиболее распространённом варианте капчи пользователь вводит символы, изображённые на рисунке (зачастую с добавлением помех или полупрозрачности), но так, чтобы было очень затруднительно машинное распознавание текста. По общепринятым нормам доступности интернета для людей со слабым зрением такая капча должна дополняться вариантом, основанным на распознавании речи (аудиокапча). Также есть капчи, где нужно выбрать правильную картинку из списка[3].
Могут также применяться другие плохо алгоритмизуемые задачи: например, узнать, что находится на картинке, отметить все картинки с кошками или ответить на вопрос, связанный со знаниями или менталитетом именно людей (например, загадка: «висит груша, нельзя скушать»). Тем не менее, стандартом стало именно распознавание символов: оно не привязано ни к какой культуре (основная помеха — слабое зрение), работает даже в мобильных браузерах, и пользователь со стажем быстро опознаёт картинку как капчу. Возможны также комбинированные капчи.
Недостатки
правитьНедостатком капчи является то, что её не всегда можно разобрать. Из-за этого иногда приходится вводить капчу несколько раз.
Способы прохождения капчи роботом
правитьИспользование уязвимостей
правитьПредположим, картинка с цифрами 1234 вызывается кодом:
<img src="/captcha.php?code=1234" />
Вместо того, чтобы проходить капчу, машина считывает URL и вводит ответ 1234.
При недостаточной квалификации веб-программиста бот может выдать ответ, не проходя тест. Например, по какой-либо информации, содержащейся на странице, компьютер сам, без вмешательства человека, способен правильно ответить на вопрос, на который предположительно мог бы ответить только человек. Либо человек проходит тест один раз, а компьютер фабрикует множество запросов с тем же ответом.
Угадывание
правитьПрименяется в первую очередь для «нетрадиционных» капч с небольшим количеством вариантов ответа (1000 и меньше). Робот «гадает», посылая случайные ответы, и некоторые из них оказываются верными.
Использование баз данных
правитьДанный подход эффективен, когда вопросы подготавливаются администратором, а не генерируются машиной. С помощью баз данных можно пройти многие нетрадиционные варианты капчи: например, отметить все картинки с кошками.
Автоматическое распознавание
править- Лёгкость отделения символов от фона с помощью цветового ключа,
- Лёгкость отделения символов друг от друга,
- Фиксированный и неискажённый шрифт.
После отсечки на буквах образуется случайный узор, поэтому нет стопроцентной гарантии, что все символы будут распознаны (в PWNtcha рейтинг этой CAPTCH’и — 99 %). Но оставшийся один процент совершенно не важен.
В новой линейке форума phpBB (3.x.x) по умолчанию используется усовершенствованная CAPTCHA с использованием библиотеки GD Graphics Library.
Существуют программы (например, PWNtcha), распознающие конкретные реализации капчи. Кроме того, существует возможность подключать модули из программ распознавания текста общего назначения (например: FineReader, OmniPage) в программы сторонних разработчиков для распознавания картинок капчи.
По отношению к автоматизированному распознаванию существуют понятия «слабая капча» и «сильная капча». В числе «слабостей» — фиксированный шрифт, фиксированное положение символов, отсутствие искажений, отделение символов от фона с использованием цветового ключа или размытия по Гауссу, лёгкое отделение символов друг от друга и т. д. Впрочем, иногда бывает, что сильная капча оказывается труднораспознаваемой и для человека, что уже есть неприемлемая крайность. Изредка встречается капча, легко прочитываемая компьютером и с большими трудностями — человеком (например, с неконтрастной картинкой), — такая капча вообще не соответствует назначению капчи как таковой.
Если сгенерированная картинка оказалась нечитаемой, пользователь, как правило, имеет возможность получить новую. Прочная капча должна выдавать картинку с другим ответом[4].
Многие нетрадиционные варианты капчи также на поверку оказались слабыми — «нероботоустойчивыми»[5][6].
Распознавание чужими руками
правитьЕсть способ «распознавания», использующий человеческий ресурс с высокопосещаемых сайтов. Робот скачивает капчу с нужного интернет-сервиса и предъявляет её посетителю сайта. Взамен посетитель сайта получает доступ к ресурсу, а робот узнаёт код, изображённый на картинке, и вводит его на «штурмуемом» сайте. Посетитель сайта может и не подозревать, что каждый просмотренный ролик оборачивается регистрацией нового почтового ящика для рассылки спама.
Для защиты (не полной) от такого способа обхода капчи сайт автоматически меняет капчу-картинку, если ответ на неё не ввели сразу (в течение небольшого промежутка времени), — регулярно каждый раз через определённый период времени, или при попытке начать запоздалый ввод ответа.
Есть также специализированные сайты для обмена или продажи капчи.
Полезность капчи против спама
правитьКапча сама по себе не может остановить спамеров. С другой стороны, этот метод защиты может создавать большие неудобства людям.
К тому же капчей злоупотребляют, например, файловые хостинги, что несёт в массы сервисы по распознаванию капчи и делает её ещё более неэффективной[7].
Известные CAPTCHA-службы
правитьreCAPTCHA — проект, использующий в роли рабочего элемента для ответов пользователей на капча-запрос неразборчивое для OCR слово, являющееся одним из множества искажённых фрагментов сканированных книг, в дополнение к слову, сгенерированному компьютером. Этот сервис учитывает приёмы использования и возможности программ оцифровки книжных текстов. Для надёжности одно и то же слово предлагается нескольким пользователям различных сайтов. Когда разные пользователи одинаково ответили на CAPTCHA-запрос, предполагается, что они ввели правильное слово.
См. также
правитьПримечания
править- ↑ Екатерина Николаевна Шагалова — Словарь новейших иностранных слов: конец ХХ-начало XXI вв; АСТ, 2009; с.576; ISBN 5-17-061402-0, ISBN 978-5-17-061402-8
- ↑ Луис фон Ан: Массовое онлайн-сотрудничество Архивная копия от 6 июня 2012 на Wayback Machine // конференция TED, 2011
- ↑ Image basec Captcha . Дата обращения: 4 апреля 2015. Архивировано 4 декабря 2017 года.
- ↑ Алгоритм проверки . CAPTCHA.ru. Дата обращения: 4 декабря 2011. Архивировано 16 апреля 2013 года.
- ↑ Решение MintEye CAPTCHA в 23 строки кода / Хабрахабр . Дата обращения: 21 января 2013. Архивировано 2 февраля 2013 года.
- ↑ Алгоритм распознавания KeyCaptcha . Архивировано 17 октября 2012 года.
- ↑ Captcha FAQ — JD Community . Дата обращения: 3 мая 2020. Архивировано 19 января 2021 года.
Ссылки
править- captcha.net (англ.) — официальный сайт Капча
- Капча в каталоге ссылок Curlie (dmoz)
- Inaccessibility of CAPTCHA / W3C (англ.). Архивировано 15 мая 2012 года.