2017-08-18 6 views
14

J'implémente reCAPTCHA sur un de mes sites Web et je l'ai implémenté avec succès. Cela fonctionne bien. Parfois, le reCAPTCHA n'est complété qu'en cliquant sur "Je ne suis pas un robot" mais parfois il montre la grille d'images pour sélectionner les images correctes et compléter le captcha.Façon d'ignorer les images reCAPTCHA défi

Je me demandais si c'était possible ou non. Pouvons-nous désactiver le défi de sélection d'images afin que le reCAPTCHA ne puisse être complété qu'en cliquant sur le bouton «Je ne suis pas un robot». Quelle est la théorie de Google pour montrer la grille d'images?

J'ai déjà lu ceci: Prevent reCaptcha multiple image selections mais il n'y a pas assez d'informations ici.

Merci! J'ai inclus recaptcha/api.js ci-dessous.

<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallbackAuto&render=explicit&hl=<?php echo $lang;?>" async defer > 

Mon code reCAPTCHA est ci-dessous:

var onloadCallbackAuto = function() { 
     /// do something.... 
    } 
    var verifyCallback = function() { 
     /// do something.... 
    } 
    grecaptcha.render('gReCaptchaDiv', { 
    'sitekey' : '<?php echo $siteKey;?>', 
    'callback' : verifyCallback, 
    'theme' : 'light' 
    }); 
+4

Pouvez-vous élaborer sur ** _ pourquoi _ ** vous voulez pouvoir ignorer le défi de la sélection d'images? Parce qu'il semble que vous voulez qu'un robot soit capable de réussir le défi, auquel cas vous pouvez aussi désactiver reCAPTCHA - mais si vous avez une raison différente, alors il peut y avoir d'autres façons de résoudre votre problème spécifique. –

+2

pourrait aussi bien mettre une case à cocher et autoriser le formulaire uniquement lorsque la case est cochée. votre exigence n'a aucun sens pour le moment. – Stavm

+0

Je vérifie juste s'il est possible d'ignorer le défi d'image. Il sera plus facile pour mes utilisateurs de cocher la case "Je ne suis pas un robot" et de terminer le processus. Si ce n'est pas possible, je n'ai aucun problème. Aussi, je veux savoir quand et comment google décide de montrer le défi des images. Il ne montre pas toujours la grille d'images. –

Répondre

14

Le nouveau Google reCaptcha met en œuvre des algorithmes sophistiqués pour décider s'il y a un utilisateur réel ou non. Certaines méthodes utilisées sont la détection de la répétition des requêtes (si une demande est répétée plusieurs fois depuis une source particulière), le comptage du temps (combien de temps s'est écoulé depuis l'initialisation du script), les événements du curseur (comme cliquant), les événements de défilement, le déclenchement d'événements communs javascript et les appels XHR.

Toutes ces méthodes et bien d'autres combinent la reCaptcha invisible et, dans le cas de la Checkbox reCaptcha, certaines de ces méthodes de détection se déclenchent également. Si l'algorithme détecte quelque chose d'inhabituel pour un utilisateur humain, par exemple, en cliquant sur la case reCaptcha sans déclencher l'événement mousemove, cela n'évaluera pas un résultat humain et donc reCaptcha doit s'appuyer sur autre chose pour s'assurer qu'il y a un humain qui fait des choses et pas un bot de script.

La réponse est que vous ne pouvez pas l'éviter. Si la méthode de base reCaptcha échoue, alors elle doit faire quelque chose pour fournir une protection. Gardez à l'esprit que les utilisateurs de votre application ne verront pas la méthode des images très souvent comme vous le faites. Je suppose que vous faites des tests et que vous essayez les mêmes choses encore et encore après avoir fait des mises à jour de code, donc vous obtenez le reCaptcha échouer plus souvent en raison de la répétition de la même source.

+1

Merci pour les éclaircissements. Donc, nous ne pouvons pas contourner le défi des images car il fait partie de la fonctionnalité reCAPTCHA et en fait, il est correct de vérifier davantage et de confirmer que c'est un être humain et non un bot. –

+1

@ élégant-utilisateur exactement. Il n'y a pas de raison de le contourner, car il y a une raison pour laquelle il apparaît à la première place.Rappelez-vous qu'il est moins probable que les utilisateurs de vos applications obtiennent des images comme vous le faites parce que vous faites beaucoup de tests et que vous répétez les mêmes demandes encore et encore quelque chose que les utilisateurs finaux ne feront pas. –

+0

Vous avez raison. Je fais beaucoup de tests sur mon application et très souvent je vois une grille d'images –