Супер капча

Категория: Perl , Веб-мастеру Комментариев: 18

Простая капча
Убойная капча, для защиты не только от спамеров, но и армии злостных школьнегов.

Для защиты от абсолютно деревянных школьнегов можно использовать капчу попроще:
Средняя капча

А от более-менее вменяемых — посложнее:
Сложная капча

А вот, собственно, и код:

# Функция генерации антиспам-сообщения
sub new_capcha{
my $rand_max = int('1' . '0' x 500); # Максимально возможное число для капчи
my $expressions_max = 50; # Максимальное число математических действийmy @signs = ('+', #
'-', # Допустимые операции с числами
'*', # в тексте капчи
'/');#
my $expression = int(rand($rand_max)) . ' ';
my $expressions_count = 1 + int(rand($expressions_max - 1));
for (my $i = 0; $i < $expressions_count; $i++){
$expression .= ' ' . $signs[int(rand(@signs))] . ' ' . int(rand($rand_max));
}
return $expression;
}

Проверка правильности ответа:

 my ($capcha_result, $capcha_val) = @_;
my $capcha_result_tmp = eval($capcha_val . " =");
if ($capcha_result != $capcha_result_tmp) {
return 'Извините, Вы слишком тупы для продолжения регистрации.';
}
Автор: Кто-то   @   5 августа 2009 Комментариев: 18
Метки : , ,

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 18

Комментарии
Авг 14, 2009
4:52
#1 Гений :

Убойная капча, для защиты не только от спамеров, но и армии злостных школьнегов.

Ахахахха! Долго смеялся :D D

Авг 24, 2009
17:38
#2 0t4 :

хорошо что у тебя капчи нет. ненавижу ее как пользователь. больше всего добивает капча от ЖЖ — она такаааая непонятная часто бывает.

Сен 15, 2009
16:15
#3 ВВВВВВВВВВВВВ :

ету капчу легко пройти с помощю пхп скрипта!

Автор Сен 15, 2009
19:46

Да Вы что ??! Какой кошмар!

Сен 21, 2009
14:14
#5 Свин :

спасибо большое.

Окт 15, 2009
10:43

Я думаю тут просто спасибом не отделаешься, но честно признаюсь пока я в пхп не разбираюсь, надо собраться с силами и почитать на досуге.

Автор Окт 15, 2009
18:34

пока я в пхп не разбираюсь

Да, оно видно, ибо это Perl :)

Дек 10, 2009
18:36
#8 Talyusha :

Здорово! А то, что-то слишком легко живётся интернет пользователям :)

Дек 30, 2009
21:19

>>ету капчу легко пройти с помощю пхп скрипта!

хах, ну и бред) прям леегко)

небось, сам представление не знаешь что такое php, а от крутых кодеров слышишь, вот и хуйню несешь)

Янв 12, 2010
23:31
#10 crystalbit :

боже :) я в принципе к себе на блог капчу не стал ставить, так как считаю, что любая, самая простая капча, может отпугнуть комментатора — картинка не загрузилась, лень считать или еще что-нибудь

Фев 8, 2010
3:25
#11 Алексей :

Ниразу не защитит. Ломается как спичка.

Автор Фев 8, 2010
20:16
#12 Кто-то :

Спасибо, кэп!

марта 13, 2010
2:36
#13 Muta :

Убойная капча — класс.

марта 31, 2010
23:03
#14 brevno :

прикольно, а на пхп есть такая капча

Автор Апр 5, 2010
12:57
#15 Кто-то :

прикольно, а на пхп есть такая капча

Это вопрос, или констатация факта?

Апр 14, 2010
16:33
#16 Sandrik :

Если нужна термоядерная защита, то нужно тоже самое + непонятный шрифт + GD.

Если для прикола, или от школоты — сойдет.

А вообще капча меня раздражает. Любая.

Авг 10, 2010
14:11
#17 Вася :

для капчи двойные игтегралы рулят:)

Фев 5, 2011
17:00
#18 не-местный :

Сравнение полученного и вычисленного не совсем мудро, особенно, если учитывать такие операции как деление. Да и арифметика не целочисленная.

Я бы предпочел считать разность между $capcha_result и $capcha_result_tmp близкой к нулю, но нулю не всегда равной. ))

оставить комментарий

Предыдущая запись
«
Следующая запись
»