2017-08-18 6 views
14

Ich implementiere reCAPTCHA auf einer meiner Websites und ich habe es erfolgreich implementiert. Es funktioniert gut. Manchmal wird der reCAPTCHA nur abgeschlossen, indem man auf "Ich bin kein Roboter" klickt, aber manchmal zeigt er das Bilderraster, um die richtigen Bilder auszuwählen und das Captcha zu vervollständigen.Weg zu überspringen reCAPTCHA Bilder Herausforderung

Ich habe mich nur gefragt, ob das möglich ist oder nicht. Können wir die Bilderauswahl-Herausforderung deaktivieren, sodass der reCAPTCHA nur durch Klicken auf "Ich bin kein Roboter" abgeschlossen werden kann. Was ist die Theorie von Google zum Anzeigen des Bilderrasters?

Ich habe bereits gelesen: Prevent reCaptcha multiple image selections aber es gibt nicht genug Informationen dort.

Danke!

Ich habe recaptcha/api.js unten enthalten.

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

Mein reCAPTCHA-Code ist unter:

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

Können Sie näher auf ** _ warum _ ** Sie möchten die Bildauswahl Herausforderung überspringen? Weil es sich anhört, als ob Sie wollen, dass ein Roboter die Herausforderung besteht, in diesem Fall können Sie auch reCAPTCHA deaktivieren - aber wenn Sie einen anderen Grund haben, dann gibt es möglicherweise andere Möglichkeiten, Ihr spezifisches Problem zu lösen. –

+2

könnte auch ein Kontrollkästchen setzen und erlauben Formular senden nur, wenn das Kontrollkästchen angeklickt ist. Ihre Anforderung macht im Moment keinen Sinn. – Stavm

+0

Ich überprüfe gerade, ob es möglich ist, die Bildherausforderung zu überspringen. Es wird für meine Benutzer einfacher sein, nur das Kontrollkästchen "Ich bin kein Roboter" zu aktivieren und den Vorgang abzuschließen. Wenn es nicht möglich ist, habe ich keine Probleme. Außerdem möchte ich wissen, wann und wie Google entscheidet, die Bilder Herausforderung zu zeigen. Es zeigt nicht immer das Bilderraster an. –

Antwort

14

Das neue Google reCaptcha einige anspruchsvollen Algorithmen implementiert, um zu entscheiden, ob es ein realer Benutzer ist oder nicht. Einige Methoden sind die Erkennung der Wiederholungswiederholung (wenn sich eine Anfrage wiederholt in einer kleinen Zeitspanne von einer bestimmten Quelle wiederholt), die Zeitzählung (wie lange die Zeit seit der Initialisierung des Skripts vergangen ist), Cursorereignisse (wie Verschieben und Klicken Sie auf), scrollen Sie Ereignisse, häufige Trigger-Ereignisse und XHR-Aufrufe.

Alle diese und viele weitere Methoden kombinieren das unsichtbare reCaptcha und im Fall des Checkbox reCaptcha, einige dieser Erkennungsmethoden werden ebenfalls ausgelöst. Erkennt der Algorithmus etwas Ungewöhnliches für einen menschlichen Benutzer, indem er zum Beispiel auf das ReCaptcha-Kontrollkästchen klickt, ohne dass das mousemove-Ereignis ausgelöst wird, dann wird dies nicht auf ein menschliches Ergebnis ausgewertet, und daher muss sich reCaptcha auf etwas anderes verlassen, um sicherzustellen, dass dies der Fall ist ein Mensch, der Sachen macht und kein Script-Bot.

Die Antwort ist, dass Sie es nicht vermeiden können. Wenn die grundlegende reCaptcha-Methode fehlschlägt, muss sie etwas tun, um Schutz zu bieten.

Denken Sie daran, dass die Benutzer Ihrer Anwendung die Bildermethode nicht so oft sehen werden wie Sie. Ich nehme an, dass Sie einige Tests durchführen und die gleichen Dinge immer und immer wieder ausprobieren, nachdem Sie einige Code-Updates durchgeführt haben, so dass Sie das reCaptcha häufiger aufgrund der Wiederholung aus der gleichen Quelle fehlschlagen.

+1

danke für Klarstellungen. Daher können wir die Bilderherausforderung nicht umgehen, da sie Teil der reCAPTCHA-Funktionalität ist und in der Tat korrekt ist, um weiter zu überprüfen und zu bestätigen, dass es ein menschliches Wesen und kein Bot ist. –

+1

@ elegant-user genau. Es hat keinen Sinn, es zu umgehen, denn es gibt einen Grund, warum Popups an erster Stelle stehen.Denken Sie daran, dass es weniger wahrscheinlich ist, dass die Benutzer Ihrer Anwendungen diese Bildherausforderung erhalten, wie Sie es tun, weil Sie viele Tests durchführen und somit die gleichen Anforderungen immer wieder wiederholen, was die Endbenutzer nicht tun. –

+0

Sie haben Recht. Ich teste viel an meiner App und sehr oft sehe ich Bilderraster –

Verwandte Themen