Блог о заработке на контекстной рекламе, интернет-стартапах и поисковом продвижении сайтов - MakeBusiness.Ru
5 Июнь
Хочу познакомить Вас с моим маленьким изобретением - многослойной капчой, которая родилась при написании скрипта доски объявлений. Я подготовил материал, который будет удобен для восприятия, кроме того есть работающий пример и комплект скриптов. Все бесплатно.
Сейчас борьба с автоматическими системами распознавания текста, используемых в спамерских программах достигла некоторого пика, когда чрезмерное усложнение капчи приводит к тому, что уже и пользователю становится трудно разобрать изображенный текст.
Я представляю капчу, для которой на сегодняшний день нет решений, позволяющих автоматизировать ее распознавание. Фишка не в использовании шумов, шрифтов и прочих искажений изображения, хотя эти методы можно с ней комбинировать. Все проще, но этот способ потребует от спамеров качественного перехода на новый уровень работы с анализируемой формой и документом, защищенных капчой.
В основе идеи лежит отображение защитного кода (в примере использовано число, но это могут быть и символы) двумя (или более) картинками.

Итак, мы генерируем число AAABBB и число RRR, где:
AAA, BBB и RRR – числа в диапазоне 1..999
Из них мы делаем две картинки:
на одной изображено AAA и она будет закрывать половину второй.
на второй изображено RRRBBB и часть RRR не будет видна за AAA
Пользователь визуально воспринимает ее как одно число AAABBB.
Автомату же для ее распознавания придется анализировать весь документ, включая стили CSS, чтобы определить, какие картинки изображают код (их может быть и более двух), в какой последовательности они закрывают друг друга и какие части остаются видимыми, чтобы отбросить лишние (закрытые) символы.
Я сделал простую реализацию этой капчи, использовав CSS, mod_rewrite и PHP. При реализации не стоит забывать о необходимости запрета кэширования картинок браузером.
Пример работающей двухслойной капчи.
Ссылки:
Скачать описание двухслойной капчи (Word)
Скачать скрипт капчи (php)
Мои проекты, защищенные этой капчой:
Отзывов (25) на «Многослойная капча побеждает спам!»
Идея весьма интересна. Только почему-то пример капчи построен несколько иначе, чем описано в статье?
То есть, здесь описывается наложение AAA и BBBBBB с результирующим AAABBB, а в примере видно что-то вроде AAA BBB BBB и предлагается ввести только красные цифры.
По-моему, тут есть некое визуальное противоречие (хотя, конечно, принципиально возможна и такая реализация, с чем, конечно, не спорю).
Да нет. Красные цифры у меня просто были в исходном коде, лень было выбрасывать =).
А пример полностью соответствует идее.
Капча в примере состоит из изображения RRR BBB
и закрывающим часть RRR изображением AAA (я все про красные цифры). Серые это бонус :), игнорируйте их.
это все как-то сложно но здорово
Петр, это стоит того чтобы не спамили! ИМХО!
Олег, простите. Пусть Вас не шокирует мой вопрос - я блондинка, - но я не совсем понимаю, что из себя должен представлять рисунок, просто фон или фон с цифрами. Буду Вам очень благодарна за ответ (мне очень-очень хочется избавиться от спама)!
Код, который должен ввести пользователь - на двух картинках: половина на одной картинке, половина на фоне, причем на фоне, закрытом картинкой(1) дополнительно ложные цифры кода.
Олег,
у меня есть один рабочий вопрос-проект, который я хотела бы с Вами обсудить. Буду признательна, если напишите мне на почту.
Очень интересное решение, попробуйте сделать плагин для WordPress. Я бы очень непротив такой у себя оставить, ато спам просто задолбал.
Присмотритесь к идее, наверняка потом получите множество бесплатных ссылок от блоггеров, пишущих на тему SEO и блогов. А там и трафик и подписчики сильно подрастут.
oleg_banshee, вы конечно простите, но у меня сложилось такое впечатление, что о том, как делать безопасные капчи у вас нет ни малейшего понятия.
Да будет вам известно, даже javascript умеет делать скриншот страницы и отсылать его на сервер (в последних реализациях даже делается скриншот flash). Так боту и не надо будет анализировать килобайты html и css. А в конечном итоге картинка будет такой же, какой ее видит пользователь.
Не используя векторную графику и фильтры искриления и зашумления капчи, ваша капча всегда будет уязвима.
Ага, капча должна быть надежной, согласен
MaxHero, во-первых большинство сабмиттеров анализируют данные формы - их мой метод способен отпугнуть. Что до более сложных систем (упомянутый Вами серверный Xrumer, видимо), то да, в этом случае мой метод можно (и нужно) комбинировать с другими известными методами: искажение изображений, использование логических элементов.
Спасибо большое за то что все толком объяснили и разъяснили.
Идея действительно интересна! Бедные боты - спамеры
Надо теперь сделать плагином под WP. Если есть такая реализация то где можно посмотреть?
Идея интересная. Но уверен, если станет массовой - создадут и бота под неё
Так будет ли плагин под WP ? вот в чём вопрос )
Сказала Юля и добавила ссылку))Такие защиты хороши, но увы иногда мне кажется что борьба со спамом заведет до сложности обычным юзерам писать))
Замечательная идея, но мне почему то кажется что эти спамеры найдут как и это обойти. Хотя мне уже сейчас хочется его поставить. Вот только можно ли его поставить на WP?
не знаю, у кого как, но у меня только три красные цифры получаются, а не шесть.
прошу помочь.
спасибо.
Ничего сложного, если станет распространённой - взломают в 2 счёта.
Я не спорю, это не панацея.. но на своих проектах в разных модификациях использую и все ОК.
Спасибр разработчику за реализацию идеи и деньные советы. На моём сайте спама больше нет.
Респект!
Выгребаю с форума каждый день по 5-6 спам сообщений. Форуму всего месяц. Начал искать решение и набрёл на ваш сайт. Буду пробовать вашу капчу. Заранее спасибо за то, что изобрели такую штуку.
как установить эту капчу?
Скрипт генерит только 3 красных цыфры, в чём проблема??
Установить ее никаких проблем. php скрипт капчи абсолютно рабочий.. использую уже второй год - защищает по-прежнему надежно. Да и потенциал для совершенствования огромный.
MsMitay, для форума тоже можно использовать, хотя там зачастую хватает и других решений. Защищаю несколько клиентских и своих форумов от спама (постами и профилями) весьма успешно с помощью банальнейших вещей. Самое простое - добавить видимое поле ввода капчи с нестандартным именем, а со стандартное - оставить и сделать невидимым с помощью стилей. Если стандартное заполнено - значит это спамбот.
Оставьте отзыв