Programmer's Reference Guide

Einführung

Captcha Anwendung

Alle konkreten CAPTCHA Objekte implementieren Zend_Captcha_Adapter, welches wie folgt aussieht:

interface Zend_Captcha_Adapter extends Zend_Validate_Interface
{
    public function generate();

    public function render(Zend_View $view, $element = null);

    public function setName($name);

    public function getName();

    public function getDecorator();

    // Zusätzlich um das Zend_Validate_Interface zu befriedigen:
    public function isValid($value);

    public function getMessages();

    public function getErrors();
}

    

Die benannten Mutatoren und Zugriffsmethoden werden verwenden um den Captcha Identifikator zu spezifizieren und zu empfangen. getDecorator() kann verwendet werden um einen Zend_Form Dekorator entweder durch seinen Namen zu spezifizieren oder indem ein aktuelles Dekoratorobjekt zurückgegeben wird. Der wirkliche Schlüssel seiner Verwendung liegt aber in generate() und render(). generate() wird verwendet um das Captcha Token zu erstellen. Dieser Prozess speichert das Token typischerweise in der Session damit es in nachfolgenden Anfragen verglichen werden kann. render() wird verwendet um die Informationen die das Captcha repräsentieren darzustellen -- ob es ein Bild ist, ein Figlet, ein logisches Problem, usw.

Ein typischer Verwendungsfall könnte wie folgt aussehen:

// Eine Instanz von Zend_View erstellen
$view = new Zend_View();

// Originale Anfrage:
$captcha = new Zend_Captcha_Figlet(array(
    'name' => 'foo',
    'wordLen' => 6,
    'timeout' => 300,
));
$id = $captcha->generate();
echo $captcha->render($view);

// Eine nachfolgende Anfrage:
// Annahme das das Captcha vorher eingestellt wurde, und $value der übertragene Wert ist:
if ($captcha->isValid($_POST['foo'], $_POST)) {
    // Validated!
}

    

Einführung
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual