2017-08-18 4 views
14

私は自分のウェブサイトの1つにreCAPTCHAを実装しています。それは正常に動作しています。いつかreCAPTCHAは「私はロボットではありません」をクリックするだけで完成しますが、正しい画像を選択してキャプチャを完成させるために画像グリッドが表示されることがあります。reCAPTCHAの画像をスキップする方法

これが可能かどうかは疑問でした。 reCAPTCHAが「私はロボットではありません」をクリックすることによってのみ完了できるように、画像選択のチャレンジを無効にすることはできますか?イメージグリッドを表示するためのGoogleの理論は何ですか?

私はすでにこれを読んでいます:Prevent reCaptcha multiple image selectionsしかしそこには十分な情報がありません。

ありがとうございます!

以下はrecaptcha/api.jsです。

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

マイreCAPTCHAのコードは以下の通りです:

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

** _理由_ **あなたは画像選択の課題をスキップできますか?あなたはロボットがチャレンジを通過できるようにしたいと思うので、あなたはreCAPTCHAを無効にすることもできますが、別の理由がある場合は、あなたの特定の問題を解決する他の方法があるかもしれません。 –

+2

は、チェックボックスをオンにして、チェックボックスをクリックしたときにのみフォームの送信を許可することもあります。あなたの要件は現時点では意味をなさない。 – Stavm

+0

イメージチャレンジをスキップすることが可能かどうかを確認しています。ユーザーが「私はロボットではありません」チェックボックスをチェックしてプロセスを完了するほうが簡単になります。それが可能でない場合、私は何の問題もありません。また、いつ、どのようにGoogleが画像の挑戦を見せるかを知りたい必ずしも画像グリッドを表示するとは限りません。 –

答えて

14

新しいGoogleのreCAPTCHAが実際のユーザーであるかどうかを決定するために、いくつかの高度なアルゴリズムを実装しています。いくつかの方法は、要求の繰り返しの検出(ある特定のソースからの短い時間に繰り返し要求が繰り返される場合)、時間カウント(スクリプトが初期化されてからの経過時間)、カーソルイベントスクロールイベント、Javascriptの一般的なイベントトリガ、XHRコール)。

これらすべての方法は、目に見えないreCaptchaとCheckbox reCaptchaの場合は、これらの検出方法のいくつかも同様にトリガされます。例えば、mousemoveイベントを発生させずにreCaptchaチェックボックスをクリックするなど、人間のユーザにとって珍しいことがアルゴリズムによって検出された場合、人間の結果には評価されないため、reCaptchaは他のものに頼ってその存在を確認する必要がありますスクリプトボットではなく人間のものです。

答えはあなたがそれを避けることができないということです。基本的なreCaptchaメソッドが失敗した場合、保護を提供するために何かを行わなければなりません。

アプリケーションのユーザーは、あなたのようにイメージメソッドを表示しないことに注意してください。私はあなたがいくつかのテストをしていると思いますし、いくつかのコードを更新した後に何度も何度も同じことを試しているので、reCaptchaは同じソースからの反復により頻繁に失敗します。

+1

説明をありがとう。したがって、イメージチャレンジはreCAPTCHA機能の一部であり、実際にはロボットではなく人間であることをさらに検証して確認するために不可欠です。 –

+1

@ elegant-user。最初にポップアップする理由があるので、それをバイパスするポイントはありません。ただ、それはあなたがテストをたくさんやっているので、あなたが何度も繰り返して、最終的なユーザーが行うことはありません何かを同じ要求を繰り返しているため、アプリケーションのユーザーは、あなたが行うように画像が挑戦することを取得する可能性が低い覚えています。 –

+0

あなたは正しいです。私は私のアプリで多くのテストをしており、非常に頻繁に私は画像グリッドを見ている –

関連する問題