Captcha и ее альтернативы

  • Автор темы Nikotin
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

Nikotin

#1
Вообщем дали мне лотусиным сайтом заниматься, а там форум спамом завалило, т.к. как там просто 2 поля :Тема и Сообщение.Никакой авторизации и никакой защиты. Вообщем решил поставить капчу. Но! как я понял просмотрев форум(codeby), на лотусе можно реализовать , только математическую капчу(с агентом, скрытым полем, и т.д.). Есть ли еще варианты?

И еще, недавно находил, какой то блог, где парень предлогал альтернативы капчи, там было идей штук 5-7...Найти блин чего то уже не могу...но помню понравился мне один метод:
Создаем поле скрытое e-mail, и делаем к примеру e-mail_test(видимое). Человек естественно заполняет видимое, ну а спам - бот, поле со стандартным названием(e-mail).Вот.Но у меня опасение, что если у человека включено автозаполнение, оно тоже заполнит поле e- mail.
Делитись своими идеями по поводу капчи и ее альтернатив.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#2
генерить имагесы, с запасом (шоб не ждать на запросе), обновлять наборчик
кол-во имагесов - зависит от нагрузки (и частота обновления)
имагесы можно генерить нативным способом (зависит от ОС) или java
 
N

Nikotin

#3
Да на тот сайт загрузки, вообще никакой :) Не охота ради такого сайта сильно заморачиваться, может быть еще идеи есть?
Imike, а конкретную программу не подскажешь?Желательно не java, а то я в ней ноль
 
13.03.2009
625
1
#4
Да на тот сайт загрузки, вообще никакой :) Не охота ради такого сайта сильно заморачиваться, может быть еще идеи есть?
Imike, а конкретную программу не подскажешь?Желательно не java, а то я в ней ноль
Готовый пример: http://chris.brandlehner.at/Brandlehner/ca...nks/CBRR-7EASVD
Полумеры: http://www-10.lotus.com/ldd/nd6forum.nsf/5...38?OpenDocument. Суть - использование JS на стороне клиента для заполнения контрольного поля.
Ну и совсем жесткий вариант: http://www-10.lotus.com/ldd/nd6forum.nsf/5...eb?OpenDocument. использовать одну и ту же фиксированную картинку - говорят в 99% случаях поможет.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#5
http://www.fmwconcepts.com/imagemagick/dow...dirname=captcha
это на основе пакета imagemagick

забыл... имена фонтов получаем: convert -list font
цвета бэкграунда в конце: http://imagemagick.org/script/color.php
команда м.б. такой:./captcha -f Arial-Курсив -m both -t gray67 -u gray68 -b gray66 -r 50 test.jpg

скрипт писан под *никс, как вы его забояните под винду (с её убогим шелом) я не знаю :)
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#7
допилить скрип можно так:
-закоментить (строка 238)
#[ "$outfile" = "" ] && errMsg "NO OUTPUT FILE SPECIFIED"

и добавить в конце (перед resize):
lcase="`echo $cc1$cc2$cc3$cc4$cc5$cc6 | tr [A-Z] [a-z]`"
[ "$outfile" = "" ] && outfile="`echo $lcase | md5sum | sed 's/[- ]//g'`.jpg"
echo $lcase
echo $outfile

результат очевиден - при отсутствии названия файла, генерит имя как md5sum от набранного и преобраз. в нижний регистр
выводит на консоль фразу и её хэш, файло (с хэшем в имени) кладет по-месту

вставляя на страницу файл, мы имеем его название как хеш, апосля, введенное значение переобразуем в нижний регистр, хэшируем и сверяем с ним (разумеется без jpg :) )
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#8
тута еще сцылко есть:
http://zetcode.com/tutorials/jeetutorials/captcha/
нужно тока убрать всё, что к сервлету относится и OutputStream в файло направить

параноидальный вариант
дополнения по запутываню хэша ;)...
для перебора можно и табличку составить (взломщику) - тоды можно применять "соль"...
а можно забубенить файло с текстом русской худ. литературы (убрать все знаки припинания, пробелы и прочее форматирование) и рандомно выбирать куски и их длину (символов 50 ;), эссэсвено таблицу вести надо будет)
добавлять эти куски к началу и концу стринга (в предыдущем примере)
результат - взломщику, хэш сложно будет рассчитать в таблицу (хотя колизии подпортят ситуёвину, но табла выдет огроменная), за разумное время
можно и хэш взять sha2 ;)
 
Статус
Закрыто для дальнейших ответов.