Zend_Captcha

Zend_Captcha

Zend_Captcha přináší do Zend Frameworku podporu pro ověřovací obrázky na rozpoznání, zda stránku opravdu navštívil člověk. V distibuci ZF bude obsaženo několik typů captcha ověřování – Figlet, Image a ReCaptcha. Figlet generuje ASCII art, Image je nejčastěji používaný obrázek s textem a reCaptcha.

Zend_Captcha_Figlet

Zend_Captcha_Fi­glet používá Zend_Figlet_Text pro převod textu do ASCII. Tímto vygenerujeme 5ti-znakovou Figlet Captchu:

$captcha = new Zend_Captcha_Figlet(array(
        'name' => 'foo',
        'wordLen' => 5,
));
$id = $captcha->generate();

(pozn. Zde jsem narazil na bug, pokud nastavíme wordLen na 12 a více, tak vypadne warning)

Potom captchu už jen vyrenderujeme: (pozn. paremetr $this->view není v manuálu uveden a bez něj to nefunguje BUG )

$this->view->captcha = $captcha->render($this->view);

A případně si pro testovací účely můžeme vypsat i text, který je zobrazen:

$this->view->captchaText = $captcha->getWord();

Captcha vypadá asi takhle:

figlet - zend

Zend_Form_Ele­ment_Captcha

Zend_Form_Ele­ment_Captcha je nový element použitelný ve spojení se Zend_Form. Můžeme snadno implementovat captchu do našich formulářů.

$form = new Zend_Form();
$element = new Zend_Form_Element_Captcha('foo', array(
        'label' => "Please verify you're a human",
        'captcha' => array(
                'captcha' => 'Figlet',
                'wordLen' => 6,
                'timeout' => 1,
        ),
));
$form->addElement($element);

Poté ji můžeme validovat jako součást formuláře přes isValid($data).

Download

Zend_Captcha DEMO

3 thoughts on “Zend_Captcha

  1. Pingback: Zend Framework CZ » Archiv » Zend Framework 1.6 je tady!

  2. ahoj, vies mi ukazat kus kodu ako spravit obrazkovu captchu? dost by mi to pomohlo… inak fan clanocek…

  3. $element = new Zend_Form_Element_Captcha('foo', array(
            'label' => "Please verify you're a human",
            'captcha' => array(
                    'captcha' => 'Image',
                    'wordLen' => 6,
                    'font' => PATH\DejaVuSans.ttf',
            ),
    ));

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>