» Форма входа

»Мoy-weB ver.4.1

» Статистика

Главная » 2008 » Сентябрь » 20 » Защита web-сервисов от спама

Защита web-сервисов от спама
20.Сен.2008 | 18:00:17

Защита web-сервисов от спама


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

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

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

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

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

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

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

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

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

И, в-третьих, можно просить кликнуть не на одну
картинку, а на несколько в определенном порядке. От этого вероятность
попадания роботом уменьшается на порядки.

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

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

Буду
рад услышать ваши мнения по поводу такого способа защиты web-форм от
роботов и спама. Ниболее интересные из них будут обязательно здесь
опубликованы.

Возможно, кто-либо знает о подобных методах защиты - напишите. Мои поиски по Интернету не увенчались успехом...

Также буду благодарен, если вы, воспользовавшись этой идей, поставите ссылку на данную статью.
Категория: Статьй и уроки | Просмотров: 552 | Добавил: CorsaR
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]