# Zend_Service_ReCaptcha

## Wprowadzenie

Komponent `Zend_Service_ReCaptcha` zapewnia klienta dla usługi reCAPTCHA Web Service. Cytując serwis internetowy reCAPTCHA, "reCAPTCHA jest darmowym serwisem CAPTCHA który pomaga skanować książki." Każdy element reCAPTCHA wymaga, aby użytkownik wpisał dwa słowa: pierwsze które jest tradycyjnym captcha, oraz drugie które jest słowem zeskanowanym z jakiegoś tekstu, którego oprogramowanie do optycznego rozpoznawania tekstu (OCR) nie mogło zidentyfikować. Założeniem jest, że jeśli użytkownik poprawnie wpisze pierwsze słowo, to także i drugie wpisze poprawnie, co będzie mogło być wykorzystane to ulepszenia oprogramowania OCR używanego do skanowania książek.

Aby używać serwisu reCAPTCHA, będziesz potrzebował założyć konto i zarejestrować w serwisie jedną lub więcej domen w celu wygenerowania publicznego oraz prywatnego klucza.

## Najprostsze użycie

Utwórz obiekt klasy `Zend_Service_ReCaptcha`, przekazując mu twoje klucze: publiczny oraz prywatny:

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

Aby wyświetlić element reCAPTCHA, po prostu wywołaj metodę `getHTML()`:

    echo $recaptcha->getHTML();

Gdy formularz zostanie wysłany, powinieneś otrzymać dwa pola, 'recaptcha_challenge_field' oraz 'recaptcha_response_field'. Przekaż je do metody `verify()` obiektu ReCaptcha:

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

Gdy posiadasz wynik, sprawdź czy jest pozytywny. Wynik działania metody jest obiektem klasy `Zend_Service_ReCaptcha_Response` i zapewnia on metodę `isValid()`.

    if (!$result->isValid()) {
        // Failed validation
    }

Jeszcze prostszy w użyciu jest sterownik ReCaptcha dla klasy `Zend_Captcha` lub użycie tego sterownika w elemencie formularza Captcha. W każdym z tych przypadków wyświetlanie oraz weryfikacja elementu reCAPTCHA jest zautomatyzowana.