Zend_Service_ReCaptchaהקדמהZend_Service_ReCaptcha מספק תמיכה בשירות ה reCAPTCHA.
כפי שמוסבר באתר reCAPTCHA, "reCAPTCHA הינו שירות ווב חינמי אשר מציג מילים מתוך ספרות למניעת ספאם ושימוש של האתר והתוכן בצורה לא חוקית ולמטרת ספאם.".
כל reCAPTCHA דורש מהמשתמש להזין שתי מילים, המילה הראשונה היא בעצם ה captcha עצמה, והשנייה היא טקסט כלשהו שנסרק אשר מונע מתוכנת OCR לנסות ולפענח אותו.
ההשערה היא שבמידה והמילה הראשונה הוזנה כפי שצריך רוב הסיכויים שגם השנייה תיהיה נכונה.
כדי להשתמש בשירות של reCAPTCHA, תצטרך להרשם לשירות ולהוסיף דומיין אחד או יותר כדי לקבל מפתחות זיהוי.
שימוש בסיסי
יצירת אובייקט Zend_Service_ReCaptcha חדש עם העברת המפתחות שלכם בתור פרמטרים:
כדי להציג את הטקסט יש להשתמש במתודה getHTML():
getHTML();
]]>
כשהטופס נשלח, אתם תקבלו שני שדות, 'recaptcha_challenge_field' ו 'recaptcha_response_field'.
העבירו את שני השדות למתודה verify():
verify(
$_POST['recaptcha_challenge_field'],
$_POST['recaptcha_response_field']
);
]]>
ברגע שיש לכם את התוצאה מהמתודה, בדקו זאת אם היא תקינה.
התוצאה הינה אובייקט של Zend_Service_ReCaptcha_Response, אשר מספק מתודה isValid().
isValid()) {
// Failed validation
}
]]>
יותר פשוט יהיה להשתמש במתאם ReCaptcha Zend_Captcha, או להשתמש במתאם בתור בסיס ל
אלמנט טפסים. במקרה הזה, הפרטים של התצוגה והאימות מול reCAPTCHA נעשים אוטומטית.