Портал для веб-мастера
Вход пользователей
Поиск статей
WoWeb.ru » Статьи » Web-Технологии

CAPTCHA - Защита web-сервисов от спама
Многие из вас видели, что в гостевых книгах, форумах, при регистрации новых пользователей часто в формах используется защита от роботов - кривенькие буковки и циферки. Этот вид защиты называется captcha. Вот, что по этому поводу сказано в Википедии:

CAPTCHA (английская аббревиатура от «Completely Automated Public Turing test to tell Computers and Humans Apart»...) - ... компьютерный тест, используемый для того, чтобы определить, человек ли использует систему... CAPTCHA чаще всего используется при необходимости предотвратить использование интернет-сервисов ботами, в частности, для предотвращения автоматической регистрации, скачивания файлов, массовых рассылок и т. п.

Я сам использовал эту защиту на своих сайтах. Однако, как-то мне попалась ссылка на ресурс спамеров, где приведено около 20 видов captcha, которые их программа может распознать. По идее все просто - достаточно вспомнить программы распознавания текста для сканеров. Очертание буквы А, как ее не коверкай, все равно принципиально не изменяются, иначе человек, пишущий сообщение в гостевую, тоже не сможет ее узнать.

Мысль о создании чего-то такого, что человек сможет легко распознать, а робот никогда, прочно засела в голове. Первым пришел в голову пример, прочитанный когда-то давно в книге, посвященной искусственному интеллекту: как объяснить машине разницу между кошкой и собакой. Человеку достаточно одного взгляда, а попробуйте хотя бы рассказать, в чем отличия...

Распознавание образов - вот в чем компьютер еще не скоро сравнится с человеком. Отсюда и возникла идея, которую сейчас я предлагаю вашему вниманию.

Выбираем несколько картинок (чем больше - тем лучше), на который изображены различные объекты. Как в детских играх - мячик, цветочек, дерево, машина. Каждому изображению ставим в соответствие его название (текстовое). Теперь нужно предъявить посетителю сайта несколько картинок и рядом напечатать название одной из них с просьбой кликнуть именно по ней. В этом и есть основной принцип этой защиты.

Понятно, что робот может запомнить ваши картинки (ведь их не бесконечное количество) или просто кликать в одну из них до тех пор, пока не угадает - вероятность попадания очень большая. Здесь начинаются хитрости.

Во-первых, можно показывать не целую картинку, а только ее часть. Согласитесь, если вы увидите рот, нос или глаз, то вы однозначно поймете, что это лицо. А для машины - это абсолютно разные картинки.
Во-вторых, помещать наши фрагменты на какой-нибудь фон, делать их полупрозрачными, возможно даже частично перекрывать их друг другом. Главное, чтобы человеку все равно оставалось понятно, куда надо кликать.
И, в-третьих, можно просить кликнуть не на одну картинку, а на несколько в определенном порядке. От этого вероятность попадания роботом уменьшается на порядки.

Вот пример такой captcha. Я просил покликать всех своих родственников, включая детей. Практически ошибок не было. Более того, это выглядело как игра (что, кстати, может дополнительно привлечь посетителей на ваш сайт).

Несколько слов о технической стороне реализации этой программы - мной использован PHP со стандартной графической библиотекой и совсем немножко Ajax. Если возникнут трудности с написанием такого скрипта - могу помочь.

Автор: Ярослав Полещук · Добавлена: 2007-03-15 · Добавил: jaroslav
Источник статьи · Просмотров: 3501 · Рейтинг: 4.2

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела
Flash
Apache
WWW
PhotoShop
Веб-дизайн
Раскрутка и реклама
Базы данных
3D графика
Хостинг
Истории веб-мастеров
Web-технологии
Сетевая безопасность
Программирование для Web
Операционные системы

Новые статьи
Лучшие статьи
Популярные статьи
Комментируемые статьи
Разделы сайта
Скрипты
Статьи
Шрифты
Флэш исходники
HTML шаблоны
Партнерки
Клипарты
Смайлы
Фоны
Гифы
Иконки
Опрос сайта
Есть ли у вас свой сайт?
Всего ответов: 140576
Наша кнопка
WoWeb.ru - портал для веб-мастера