Programmer's Reference Guide

Zend_Service_Nirvanix

Zend_Service_ReCaptcha

Einführung

Zend_Service_ReCaptcha bietet einen Client für das » reCAPTCHA Web Service. Laut der reCAPTCHA Seite ist "reCAPTCHA ein freies CAPTCHA Service das hilft Bücher zu digitalisieren." Jedes reCAPTCHA verlangt das der Benutzer zwei Wörter eingibt, das erste ist das aktuelle Captcha, und das zweite ist ein Wort von einem eingescannten Text bei dem Software für optische Zeichenerkennung (OCR) keine Identifizierung durchführen kann. Die Annahme ist das, wenn der Benutzer das erste Wort richtig angegeben hat, dass dann das zweite auch korrekt angegeben wird, und das dieses dann verwendet werden kann um OCR Software für die Digitalisierung von Büchern zu verbessern.

Um den reCAPTCHA Service zu verwenden muß man » einen Account unterzeichnen und eine oder mehrere Domains beim Service registrieren um öffentliche und private Schlüssel zu erzeugen.

Einfachste Verwendung

Ein Zend_Service_ReCaptcha Objekt instanzieren, und ihm den öffentlichen und privaten Schlüssel übergeben:

$recaptcha = new Zend_Service_ReCaptcha($pubKey, $privKey);

Um das reCAPTCHA darzustellen, muß einfach die getHTML() Methode aufgerufen werden:

echo $recaptcha->getHTML();

Wenn das Formular übertragen wurde, sollte man zwei Felder empfangen haben, 'recaptcha_challenge_field' und 'recaptcha_response_field'. Diese sind an die verify() Methode des ReCaptcha Objekts zu übergeben:

$result = $recaptcha->verify(
    $_POST['recaptcha_challenge_field'],
    $_POST['recaptcha_response_field']
);

Sobald man das Ergebnis hat, kann es getestet werden um zu sehen ob es gültig ist. Das Ergebnis ist ein Zend_Service_ReCaptcha_Response Objekt, welche eine isValid() Methode anbietet.

if (!$result->isValid()) {
    // Fehlerhafte Prüfung
}

Noch einfacher zu verwenden ist der ReCaptcha Zend_Captcha Adapter, oder diesen Adapter als Backend für das Captcha Formularelement zu verwenden. In jedem Fall werden die Details der Darstellung und Prüfung des reCAPTCHA automatisch durchgeführt.


Zend_Service_Nirvanix
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual