Как стать автором
Обновить

Капча на основе изображений

Время на прочтение3 мин
Количество просмотров15K
Краткий обзор наиболее известных реализаций
<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, то
здесь можно скачать уже готовый контрол.
Теги:
Хабы:
+4
Комментарии42

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн