reCAPTCHA גרסה 3

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

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

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

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

אפשר להפעיל reCAPTCHA במספר פעולות שרוצים באותו דף.

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

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

פעולות

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

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

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

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

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