Что такое CAPTCHA

CAPTCHA расшифровывается как Completely Automated Public Turing test to Tell Computers and Humans Apart. В переводе на русский: "Полностью автоматический публичный тест Тьюринга, который может отличить человека от компьютера".

Это предложенная Аланом Тьюрингом в его работе 1950-го года Computing Machinery and Intelligence игра, которую позже стали называть "Тест Тьюринга". Цель этого теста - методом последовательных вопросов выяснить кто перед тобой - человек или компьютер. Проблема эта очень актуальна для защиты ресурсов от различных роботов, особенно от спам-роботов.

Один из классических вариантов CAPTCHA - картинка со слегка деформированными буквами, которые человеку предлагается распознать. Есть и более экзотичные варианты.

CAPTCHA с буквами используется на форумах, в платежных системах, на блогах. На Блоггере его тоже можно включить, но я не стал. Спама мне идет не очень много, пока я его легко прибиваю вручную.

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

Вот рассказ одного такого исследователя. Он решил распознать CAPTCHA на блоге друга.

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

Еще один проект, посвященный распознаванию CAPTCHA, также без исходников - PWNtcha (Pretend We're Not a Turing Computer but a Human Antagonist). Там есть веб-интерфейс, через который ей можно скормить картинку, а она попытается распознать буквы. Я ей скормил CAPTCHA с блоггера, не распозналось.

Критики таких CAPTCHA очень много. Что они формируют ложное чувствую защищенности, сбивают с толку пользователя. Если у человека отключены картинки в браузере, то он вообще CAPTCHA не увидит. В качестве альтернативы предлагаются, например, логические задачки. Но тем не менее графические CAPTCHA с буквами очень распространены.

У меня к ним сложное отношение. Раздражать они, конечно, раздражают, особенно когда с первого раза понять не получается что же там написано. Но с другой стороны, я слышал, что они действительно отсекают бОльшую часть спама. Статистики никакой по этому поводу я не видел, просто встречал мнения людей, что "да, помогает".