אימות תגובת המשתמש

בדף הזה מוסבר איך לאמת תגובה של משתמש לאתגר reCAPTCHA מתוך האפליקציה בקצה העורפי.

למשתמשי אינטרנט, אפשר לקבל את אסימון התגובה של המשתמש באחת משלוש דרכים:

  • פרמטר POST אחד (g-recaptcha-response) כשהמשתמש שולח את הטופס באתר שלכם
  • grecaptcha.getResponse(opt_widget_id) אחרי שהמשתמש משלים את הפעולה אתגר ה-reCAPTCHA
  • כארגומנט של מחרוזת בפונקציית הקריאה החוזרת אם data-callback מצוין במאפיין התג g-recaptcha או פרמטר הקריאה החוזרת בשיטה grecaptcha.render

עבור משתמשי ספריית Android, ניתן לקרוא SafetyNetApi.RecaptchaTokenResult.getTokenResult() כדי לקבל אסימון תגובה אם הסטטוס מוחזר בהצלחה.

הגבלות על אסימונים

כל אסימון תגובה של משתמש reCAPTCHA בתוקף למשך שתי דקות, וניתן לאמת אותו פעם אחת בלבד כדי למנוע התקפות שליחה מחדש אם יש צורך באסימון חדש, אפשר להריץ מחדש את האימות של reCAPTCHA.

לאחר שתקבלו את אסימון התגובה, תצטרכו לאמת אותו תוך שתי דקות באמצעות reCAPTCHA באמצעות את ה-API הבא כדי לוודא שהאסימון תקף.

בקשת API

כתובת URL: https://www.google.com/recaptcha/api/siteverify שיטה: POST

פרמטר POST תיאור
secret חובה. המפתח המשותף בין האתר שלכם ל-reCAPTCHA.
response חובה. אסימון התגובה של המשתמש שסופק על ידי השילוב של reCAPTCHA בצד הלקוח באתר שלכם.
remoteip זה שינוי אופציונלי. כתובת ה-IP של המשתמש.

תגובת API

התגובה היא אובייקט JSON:

{
  "success": true|false,
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "hostname": string,         // the hostname of the site where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

עבור reCAPTCHA Android:

{
  "success": true|false,
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "apk_package_name": string, // the package name of the app where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

הסבר על קודי שגיאה

קוד שגיאה תיאור
missing-input-secret הפרמטר הסודי חסר.
invalid-input-secret הפרמטר הסודי לא חוקי או לא תקין.
missing-input-response פרמטר התגובה חסר.
invalid-input-response פרמטר התגובה לא תקין או שגוי.
בקשה פגומה הבקשה לא חוקית או לא תקינה.
זמן קצוב לתפוגה או כפילות התשובה כבר לא תקפה: היא ישנה מדי או שהייתה בשימוש בעבר.