Клик

ЦАПТЦХА Перл. Генерације са ИмагеМагицк

Мали генератор функција цаптцха за Перл ИмагеМагицк позивањем кроз библиотеку слика:: Магике.
Могу доћи у руци када хостер не дозвољава да инсталирате сопствени модули за Перл (нпр. Делез:: СецуритиИмаге или Ауцхтен: Цаптцха). Модул за рад са ИмагеМагицк не би требало да подразумевано осим веома несавесног домаћина.
Ова функција се може користити као библиотека позива, позив да донесе име датотеке и линија за генерисање ЦАПТЦХА.

Код функције:

 # / Уср /! Бин / перл # генератор цаптцха.  Идеја и Конвертовање позива параметри су узети из цаптцха.ру (хттп://цаптцха.ру/цаптцхас/мултисвирл/).  # Имплементација библиотека Слика:: магија за Перл - димио (ввв.димио.орг).  # 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 коментара

Коментари

10 коментара на "Цаптцха Перл. Генерације са ИмагеМагицк "

  1. мике је написао:

    Нешто не ради!
    Слике - само бели правоугаоник без текста, а затим
    Ваддле на
    принт $ упит-> ем (""),
    $ Куери-> ТектФиелд (
    -Наме => 'цап_валуе',
    -Величина => 2,
    -Макленгтх => 2,
    );

    са поруком
    Не можете да позовете методу "ем" на недефинисана вредност на / хоме / ... ....

    • димио пише:

      У примеру приказаном на следећи начин:

      принт $ упит-> ем (" ")

      И пролазите празан стринг.
      ЦГИ модул је повезан начин?

      Што се тиче цртања - на првом месту - фонт је у праву? Друго - можете увити параметре генерације. Ја добио нормалан ЦАПТЦХА слику са назначено параметара у примеру.

    • димио пише:

      Јасно, ово смањење мотор код ...

  2. мике је написао:

    Су на следећи начин:
    $ Куери = нових ЦГИ;
    принт $ упит-> ем (""),
    $ Куери-> ТектФиелд (
    -Наме => 'цап_валуе',
    -Величина => 10,
    -Макленгтх => 5,
    );
    све је радило, али слика је празна : (

  3. басх је написао:

    тако је ... цаптцха ради.
    и како да правилно провери својих улаза и корисника?

    • димио пише:

      Ја бих схватио хеш генерисан ЦАПТЦХА речи и хеш корисничког уноса и онда у поређењу њих. Модул Дигест:: МД5 да помогне.

  4. басх је написао:

    Па корисничког уноса за израчунавање хасх без проблема ... али као хасх цаптцха? већ је заборављен, јер радио на цаптцха скрипту излаз.) Да, и уради то другачије скрипте могу бити - један приказује цаптцха, и један који се улаз ... овде и овде замороцхки ја (

    • димио пише:

      Хасх цаптцха ставили у датотеци или другу базу података (датотека логичније и једноставније, али ако већ имате базу података за мотор - зашто не ствара столу), провео (и ако желите - фаул) хешева хвата обрисани. Из практичних разлога, можете доделити одређене идентификаторе ЦАПТЦХА.

Допуст један Одговор