Zend_Service_ReCaptchaWprowadzenie
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:
Aby wyświetlić element reCAPTCHA, po prostu wywołaj metodę
getHTML():
getHTML();
]]>
Gdy formularz zostanie wysłany, powinieneś otrzymać dwa pola,
'recaptcha_challenge_field' oraz 'recaptcha_response_field'.
Przekaż je do metody verify() obiektu 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().
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.