Краткий обзор наиболее известных реализаций
<A
href=«gs264.sp.cs.cmu.edu/cgi-bin/esp-pix»>PIX CAPTCHA от университета Carnegie Mellon — так называемая капча с использованием именованных изображений (naming images CAPTCHA) — пользователь видит несколько картинок и должен выбрать слово, которое подходит по смыслу всем показанным изображениям. Главная проблема этого типа капч в ошибках при написании слова-ответа и в словах-синонимах (например: собака, пес и т.п.) В данном примере это решается выбором варианта ответа из наперед подготовленного списка.
KittenAuth от Оли Варнера (Oli Warner) —
для того, чтобы доказать свою «человечность» посетитель должен выбрать изображения всех животных
определенной породы среди предложенных. К сожалению, ограниченное количество изображений позволяет
воссоздать набор картинок вручную.

Asirra от Microsoft — в общих чертах
похоже на KittenAuth — пользователь должен различить кошек от собак, но, поскольку оперирует
большим количеством упорядоченных изображений (фотографии бездомных животных со специализированного
сайта), то воссоздание базы изображений с целью взлома невозможно. <A
href=«infolab.stanford.edu/~wangz/project/imsearch/IMAGINATION/ACM05/datta.pdf»>IMAGINATION
— капча, которая проходится в два шага. На первом этапе пользователь кликает по картинке, которая
собрана из нескольких изображений и выбирает одно из них. На втором этапе загружается выбранное
изображение, увеличенное, но очень искаженное. Также загружаются варианты названия того, что изображено на картинке,
и пользователь должен выбрать правильный ответ из списка.

Почему капчи, использующие изображения, далеко не так популярны как текстовые?
Я не буду касаться сравнительного анализа возможности взлома, некоторые мысли по этому поводу
можно найти <A
href=«research.microsoft.com/asirra/security.aspx»>здесь
и <A
href=«www.eecs.berkeley.edu/Pubs/TechRpts/2004/5256.html»>здесь.
Я просто хочу высказать свою точку зрения как веб разработчик. Итак, почему?
  • Они слишком большие. Капча не должна занимать домирующее положение на странице.
    Это всего лишь дополнительный элемент, который служит для отсеивания ботов при заполнении форм или
    получении каких-либо данных.
  • Трафик. Несколько картинок, каждая около 5-10 килобайт,
    вместе это довольно много, как для одной страницы. Посетители, использующие каналы с
    низкой пропускной способностью (тот же диал-ап), будут неприятно удивлены.
  • Несоотвествие общей концепции сайта. Капча с котами (или дельфинами) подходит для развлекательных
    сайтов, но будет, например, смотреться странно на сайте медицинского учреждения. Можно, конечно, подобрать
    несколько картинок на медицинскую тематику, но, по аналогии с Asirra, проблематично найти сайт с большим
    количеством фотографий бездомных докторов :)
  • Трудоемкий процес создания и упорядочения базы изображений.

Я хочу заметить, что это ни в коей мере не критика, я просто пытаюсь ответить на заданный выше вопрос.
Подсумирую все вышесказанное: капча на основе изображений могла бы быть хорошей альтернативой
текстовым, если бы она состояла из одного небольшого изображения, которое создавалось на основе ограниченного
набора картинок.
ИдеяПосморите на следующие два изображения
<IMG
style=«border:black 1px solid»
src=«habrastorage.org/getpro/habr/olpictures/892/7aa/7f2/8927aa7f2fd72d115a5f493bb1b33dd4.jpg»>
  <IMG
style=«border:black 1px solid»
src=«habrastorage.org/getpro/habr/olpictures/4a6/d27/ffc/4a6d27ffc2e29f458df5e2d79c57a101.jpg»>
Оригинальное   Искаженное

Довольно легко заметить, что правое изображение слегка искажено, и довольно легко понять, где именно.
Для того чтобы заметить искажение оригинальное изображение практически и не нужно. Человек без труда справится
с такой задачей даже не зная, что именно должно быть изображено — если только это не картина экспресиониста :).
Реализация
Капча, построенная на основе вышеописанной идеи, для своего решения требует, чтобы посетитель кликнул на
искаженной части изображения. Место клика отмечается красной точкой. Правильно кликнул — прошел, нет — так нет.
Возможно, этот тип капчи даже
более удобен для пользователя, чем классическая текстовая капча (один клик вместо печатания 5-6 букв).
Относительно безопасности: капча на основе изображений может быть взломана с помощью методик,
схожих с теми, что применяютсях для взлома текстовых капч.

В конце концов, лучше один раз увидеть, чем сто раз прочитать. Здесь вы можете увидеть, как выглядит рабочий пример такой капчи, а если вы пишете на ASP.Net, то
здесь можно скачать уже готовый контрол.