2

この質問は、ロボットとキャプチャに関する私の他の質問を拡張したものです。私はみんなが推奨することをしました (みんなに感謝します!)、しかし、最初にサーバー上でロボットを検出することはまったく可能ですか? 例 (繰り返しますが、Stackoverflow を参照として使用します): 質問をすると、Stackoverflow が戻ってきて、私が人間かどうかを確認するよう求められることがあります。ただし、そうでない場合もあります。

それが私がやりたいことなので、Stackoverflow はどのようにそれを行うのか: データをチェックし、ロボットのように見える場合は、人間の検証を要求します。

また、これは Java (できれば)、Perl、または PHP で行う必要があります。

ありがとう

4

2 に答える 2

0

簡単な方法は、アクティビティ (クリック、コメントなど) をログに記録し、これらの頻度と類似性をチェックすることです。通常、繰り返し実行される同様のタスクを探すことで、ロボットを検出できます。

ロボットの検出を真剣に考えている場合は、すべてのキーストロークとマウスの動きを記録してください。通常のユーザーは、入力やサイトのナビゲートに関連するエラーと不確実性の割合を持っています. 100% タイプミスがなく、サイトを簡単かつ迅速にナビゲートする (ポイント a からポイント b にマウスを直線上で移動する) 戻るボタンを押すことのないユーザーは、ボットである可能性が非常に高くなります。

于 2009-08-18T17:04:42.493 に答える
0

StackOverflow では、同じタスクを何度もすばやく実行したり、複数のタスクをすばやく実行したりすることによって行われます。

これをエミュレートしたい場合は、最近のリクエストの数と時間を追跡し、すべてが制限内にあることを確認できます。そうでない場合は、CAPTCHA にリダイレクトします。

残念ながら、コードを提供するのに十分な Java EE の経験がありませんが、私のアプローチから何らかのアイデアが得られることを願っています。

于 2009-08-18T16:57:45.517 に答える