reCAPTCHA גרסה 3

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

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

מיקום באתר שלך

גרסה 3 של reCAPTCHA אף פעם לא תפריע למשתמשים, כך שתוכלו להריץ אותו מתי שתרצו בלי להשפיע על ההמרות. 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, אפשר להשתמש ב-method execute באובייקט grecaptcha. כדי לעשות את זה, צריך להוסיף פרמטר render לטעינת הסקריפט של reCAPTCHA.

  1. צריך לטעון את JavaScript API באמצעות מפתח האתר (sitekey).

    <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. שולחים את האסימון מיד לקצה העורפי עם בקשת אימות.

פירוש הציון

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

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

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

פעולות

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

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

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

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

שולחים את הבקשה לאמת את אסימון התגובה כמו באמצעות reCAPTCHA גרסה 2 או 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, או להמשיך להשתמש בקריאה חוזרת (callback) של טעינה שמוגדרת ב-API של גרסה 2.
  2. כדאי לנסות לשכנע את הקריאה של execute לבצע פעולות מעניינות או רגישות כמו הרשמה, איפוס סיסמה, רכישה או הפעלה.
  3. באמצעות https://www.google.com/recaptcha/api.js?trustedtypes=true תוכלו לטעון קוד שתואם לסוגים מהימנים.