reCAPTCHA גרסה 3

reCAPTCHA v3 מחזיר ציון לכל בקשה ללא חיכוך המשתמש. הציון מבוסס על אינטראקציות עם האתר שלך ומאפשר לך לנקוט פעולה מתאימה עבור האתר שלך. ניתן לרשום מפתחות reCAPTCHA 3 במסוף Admin של reCAPTCHA.

בדף הזה נסביר איך להפעיל ולהתאים אישית את reCAPTCHA v3 בדף האינטרנט.

מיקום באתר

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

ניתן לבצע reCAPTCHA בכל פעולה שתרצו.

קשירה אוטומטית של האתגר ללחצן

הדרך הקלה ביותר להשתמש בדף reCAPTCHA v3 היא לכלול את המשאב הנדרש ב-JavaScript, ולהוסיף מספר מאפיינים ללחצן ה-html.

  1. טוענים את JavaScript API.

     <script src="https://www.google.com/recaptcha/api.js"></script>
    
  2. צריך להוסיף פונקציית קריאה חוזרת כדי לטפל באסימון.

     <script>
       function onSubmit(token) {
         document.getElementById("demo-form").submit();
       }
     </script>
    
  3. הוספת מאפיינים ללחצן 'HTML'.

    <button class="g-recaptcha" 
            data-sitekey="reCAPTCHA_site_key" 
            data-callback='onSubmit' 
            data-action='submit'>Submit</button>
    

הפעלה פרוגרמטית של האתגר

כדי לקבל שליטה רבה יותר על מועד ההפעלה של reCAPTCHA, אפשר להשתמש בשיטה execute באובייקט grecaptcha. לשם כך, צריך להוסיף פרמטר render לטעינת הסקריפט של reCAPTCHA.

  1. טוענים את JavaScript API עם מפתח האתר.

    <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
    
  2. יש להתקשר אל grecaptcha.execute לגבי כל פעולה שעליה ברצונך להגן.

       <script>
          function onClick(e) {
            e.preventDefault();
            grecaptcha.ready(function() {
              grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) {
                  // Add your logic to submit to your backend server here.
              });
            });
          }
      </script>
    
  3. שולחים את האסימון מיד לקצה העורפי ומבקשים אימות.

פירוש הציון

reCAPTCHA v3 מחזיר ציון (1.0 הוא סביר מאוד לאינטראקציה, 0.0 הוא ככל הנראה בוט). על סמך הציון ניתן לנקוט פעולה משתנה בהקשר של האתר שלכם. כל אתר הוא שונה, אבל בהמשך מופיעות כמה דוגמאות לאופן שבו אתרים משתמשים בניקוד. כמו בדוגמאות שבהמשך, תוכלו לבצע פעולות מאחורי הקלעים במקום לחסום את התנועה כדי להגן טוב יותר על האתר.

תרחיש לדוגמה המלצה
דף הבית במסוף Admin אפשר לראות תצוגה אחידה של התנועה במסוף Admin, ולסנן את המגרדים.
login עם ציונים נמוכים, נדרש אימות דו-שלבי או אימות אימייל כדי למנוע התקפות של מילוי פרטי כניסה.
רשתות חברתיות הגבלת בקשות חברות שלא נענו ממשתמשים פוגעניים ושליחת תגובות מסוכנות לניהול.
מסחר אלקטרוני הציגו את המכירות האמיתיות שלכם מראש בבוטים וזהו עסקאות מסוכנות.

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

פעולות

חדש: reCAPTCHA v3 כולל קונספט חדש: פעולות. כשאתם מציינים שם פעולה בכל מקום שבו אתם מבצעים reCAPTCHA, אתם מפעילים את התכונות החדשות הבאות:

  • חלוקה מפורטת של הנתונים לעשר הפעולות המובילות במסוף Admin
  • ניתוח סיכונים מותאם על סמך ההקשר של הפעולה, כי התנהגות פוגענית עשויה להשתנות.

חשוב לציין שכשאתם מגיבים ל-reCAPTCHA, עליכם לוודא ששם הפעולה הוא השם שאתם מצפים לו.

תגובה לאימות אתר

שולחים בקשה לאימות אסימון התגובה כמו reCAPTCHA v2 או reCAPTCHA בלתי נראה.

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

{
  "success": true|false,      // whether this request was a valid reCAPTCHA token for your site
  "score": number             // the score for this request (0.0 - 1.0)
  "action": string            // the action name for this request (important to verify)
  "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
}

טיפים

  1. הפונקציה grecaptcha.ready() מריצה את הפונקציה שלך כשמתבצעת טעינה של ספריית reCAPTCHA. כדי למנוע מצבי מירוץ ב-api.js, יש לכלול את הקוד api.js לפני הסקריפטים שקוראים ל-grecaptcha או להמשיך להשתמש ב-backcallback שמוגדר ל-v2 API.
  2. כדאי לנסות לנסח את הקריאה של execute לפעולות מעניינות או רגישות, כמו הרשמה, איפוס סיסמה, רכישה או הפעלה.
  3. להשתמש ב-https://www.google.com/recaptcha/api.js?trustedtypes=true כדי לטעון קוד שתואם לסוגים מהימנים.