ЦАПТЦХА Перл. Генерације са ИмагеМагицк
Мали генератор функција цаптцха за Перл ИмагеМагицк позивањем кроз библиотеку слика:: Магике.
Могу доћи у руци када хостер не дозвољава да инсталирате сопствени модули за Перл (нпр. Делез:: СецуритиИмаге или Ауцхтен: Цаптцха). Модул за рад са ИмагеМагицк не би требало да подразумевано осим веома несавесног домаћина.
Ова функција се може користити као библиотека позива, позив да донесе име датотеке и линија за генерисање ЦАПТЦХА.
# / Уср /! Бин / перл # генератор цаптцха. Идеја и Конвертовање позива параметри су узети из цаптцха.ру (хттп://цаптцха.ру/цаптцхас/мултисвирл/). # Имплементација библиотека Слика:: магија за Перл - димио (ввв.димио.орг). # 27.09.2009 Користи слику:: Магике; под ЦреатеЦапИмаге ($$){ мој ($ цап_стринг, $ филенаме) = @ _, мој $ фонт = 'тимес.ттф', мој $ поинтсизе = 70; моја $ ПАТХ = ' / ', мој $ слике = нев Имаге.: Магике; # 1. Направите 300к100 бели оквир. $ Имаге-> сет (сизе => '300к100 '); $ слика> РеадИмаге (' КСЦ: бела '); # 2. Смо штампање у црној боји са антиалиасингом $ слику-> Сет (тип => 'ТруеЦолор', антиалиас => 'Истина', попуните => 'црна', # СТРИНГ СТРИНГ фонта $ величину $ поинтсизе фонт => $ фонт поинтсизе => $ поинтсизе); $ слика> Драв (примитивни => 'текст', указује => '20, 70 ', # оријентације редова текста унутар слике текст => $ цап_стринг, # да штампа) # 3. Потез центар лево на 100 тачака + Рандом флуктуације $ слику-> Обим (геометрија => '400к120 ', # промените величину слике); $ слика> ролне (Кс => 101 + инт (ранд (4))) # 4.. Први завртите угао насумице (од 37 до 51) $ слика> Свирл (степени => инт (ранд (14)) 37,), # 5. Потез центар десне стране 200 пиксела, и са случајним флуктуације $ слика> Обим (геометрија => '600к140 ', # промените величину слике); $ слика> ролне (Кс => 3-инт (ранд (4))) , # 6. Друга ротација (од 20 до 35) $ слика> Свирл (степени => инт (ранд (15)), 20,,), # 7. Завршна обрада и излаз $ слику-> Цроп ('300к100 +100 +17'); $ слику-> Ресизе ('150к50 '); $ филенаме = $ ПАТХ. $ Датотеке; $ фајла .= 'ПНГ.'; Се отварају (СЛИКЕ ,'>',$ фајла) или умре $;! $ Слика-> Саставити (фајл => \ * СЛИКЕ, филенаме => $ филенаме); Цлосе ( Имаге); врати $ фајла;} 1;
# Позив писмо ЦАПТЦХАс моја $ бр1 = инт (ранд (11)) + инт (ранд (3)); моја $ бр2 = инт (ранд (8)) + инт (ранд (4)); моја $ збир = $ бр1 + $ бр2; моја $ цап_стринг = $ бр1 бр2 .'+'.$ .'='; моја $ цап_дигест = мд5_хек ($ збир + ранд (100) + ранд (50)); моја $ цап_урл = & ЦреатеЦапИмаге ($ цап_стринг, $ цап_дигест); $ Цап_урл = ~ с | / хоме / димиоорг / публиц_хтмл / димиоорг | |; $ Цап_урл = 'хттп://ввв.димио.орг' $ Цап_урл.; принт $ упит-> ем ("<имг срц=\"$цап_урл\">"), $ Куери-> ТектФиелд ( -Наме => 'цап_валуе', -Величина => 2, -Макленгтх => 2, );
Као резултат тога, страница ће приказати слику са симболима облика "12 7 =". Стринг може у принципу бити било шта.
Сувише лењи да цопи-пасте - може преузети цаптцха.пл карактеристика и три ТТФ фонта .
Написао о правима знаменитости за себе, али ако неко добро доћи ![]()
Више о сличним темама:
Филед ундер: Интернет , кодирање |
Тагс: цаптцха , како се , ИмагеМагицк , перл , програмирање |
10 коментара 

Нешто не ради!
Слике - само бели правоугаоник без текста, а затим
Ваддле на
принт $ упит-> ем (""),
$ Куери-> ТектФиелд (
-Наме => 'цап_валуе',
-Величина => 2,
-Макленгтх => 2,
);
са поруком
Не можете да позовете методу "ем" на недефинисана вредност на / хоме / ... ....
У примеру приказаном на следећи начин:
И пролазите празан стринг.
ЦГИ модул је повезан начин?
Што се тиче цртања - на првом месту - фонт је у праву? Друго - можете увити параметре генерације. Ја добио нормалан ЦАПТЦХА слику са назначено параметара у примеру.
Јасно, ово смањење мотор код ...
Су на следећи начин:
$ Куери = нових ЦГИ;
принт $ упит-> ем (""),
$ Куери-> ТектФиелд (
-Наме => 'цап_валуе',
-Величина => 10,
-Макленгтх => 5,
);
све је радило, али слика је празна
имг срц = \ "$ цап_урл \" бордер = \ "2 \"
Покренут да тестира домаћина сервера: - .
Перл в5.8.8
ИмагеМагицк 6.5.9-9 2010-02-25 П16
Слика:: Магија (6.005009)
тако је ... цаптцха ради.
и како да правилно провери својих улаза и корисника?
Ја бих схватио хеш генерисан ЦАПТЦХА речи и хеш корисничког уноса и онда у поређењу њих. Модул Дигест:: МД5 да помогне.
Па корисничког уноса за израчунавање хасх без проблема ... али као хасх цаптцха? већ је заборављен, јер радио на цаптцха скрипту излаз.) Да, и уради то другачије скрипте могу бити - један приказује цаптцха, и један који се улаз ... овде и овде замороцхки ја (
Хасх цаптцха ставили у датотеци или другу базу података (датотека логичније и једноставније, али ако већ имате базу података за мотор - зашто не ствара столу), провео (и ако желите - фаул) хешева хвата обрисани. Из практичних разлога, можете доделити одређене идентификаторе ЦАПТЦХА.