跳过reCAPTCHA图像挑战的方法

ele*_*ser 23 recaptcha

我正在我的一个网站上实施reCAPTCHA,并且我已经成功实现了它.它工作正常.有时reCAPTCHA仅通过单击"我不是机器人"来完成,但有时它会显示图像网格以选择正确的图像并完成验证码.

我只是想知道这是否可能.我们可以禁用图像选择挑战,只有点击"我不是机器人"才能完成reCAPTCHA.Google用于显示图像网格的理论是什么?

我已经读过这个:阻止reCaptcha多个图像选择,但那里没有足够的信息.

谢谢!

我在recaptcha/api.js下面列出了.

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

我的reCAPTCHA代码如下:

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

Chr*_*ras 42

新的Google reCaptcha实现了一些复杂的算法来决定是否有真实的用户.使用的一些方法是检测请求重复(如果有一个请求在一个特定源的一小段时间内反复重复),计时(从脚本初始化起经过的时间),光标事件(如移动和点击),滚动事件,javascript常见事件触发和XHR调用.

所有这些和更多方法结合了不可见的reCaptcha,在Checkbox reCaptcha的情况下,其中一些检测方法也会触发.如果算法检测到人类用户不寻常的事情,例如,点击reC​​aptcha复选框而不触发mousemove事件,则不会评估为人类结果,因此reCaptcha必须依赖其他内容以确保存在一个人做的东西,而不是一个脚本机器人.

答案是你无法避免它.如果基本的reCaptcha方法失败,那么它必须做一些事情来提供保护.

请记住,您的应用程序的用户不会像您一样经常看到图像方法.我猜你做了一些测试并在做了一些代码更新之后一次又一次地尝试相同的事情,因此你会因为来自同一个源的重复而更频繁地失败reCaptcha.

  • @ elegant-user完全正确.没有必要绕过它,因为它有一个原因,它首先弹出它.只要记住,是不太可能您的应用程序的用户获取图像挑战像你这样做,因为你正在做大量的测试,因此你一次又一次地重复同样的请求的东西,最终用户不会做. (2认同)
  • 你是对的。我正在对我的应用程序进行大量测试,并且经常看到图像网格 (2认同)
  • @emirhosseini 为什么不在开发阶段禁用它,然后在编写完应用程序/代码后重新启用它?你知道它有效,我认为在开发过程中启用它是没有意义的。如果您正在编辑实时应用程序,那么您应该考虑拥有一个具有源代码控制的开发环境。直接编辑生产应用程序/代码是不正确的。 (2认同)

Col*_*una 6

不,您不能跳过它。

令我惊讶的是,没有人指出为什么要得到它们。图像重新捕获不仅用于检测用户不是机器人。如果您注意到,它们总是与交通,桥梁,标志,商店门面等相关。Google使用此工具训练主要用于自动驾驶汽车的人工神经网络。这种方法称为监督训练。

在神经网络中,有两种训练类型:有监督训练和无监督训练。有监督的培训是指您提供一种手动评估网络性能的机制。因此,当您选择所有这些汽车图片时,网络也在尝试做同样的事情,这基本上是在评估网络的性能。它获得的输入越多,通过调整网络中每个神经元的权重,它就会变得越智能。

在无人监督的培训中,网络必须在没有外部帮助的情况下理解您要教的内容。它的效率要低得多,但仍然可以完成。