2009-08-18 7 views
2

この質問の種類は私のother question on robots and captchaを拡張します。誰もがお薦めしたことはありましたが(皆さんありがとう!)、まずサーバー上のロボットを検出することは可能ですか?たとえば、Stackoverflowを参考にしてみましょう。時々私が質問をすると、Stackoverflowは私が人間かどうかを確認するように求められます。 ただし、時にはそうではありません。サーバー上のロボットを検出しますか?

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

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

おかげStackOverflowの上

答えて

0

、それがあまりにも速く、同じタスクを何度も行ったり、あまりにも急速に複数のタスクを実行することにより行われています。

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

残念ながら、私はコードを提供するのに十分なJava EEエクスペリエンスを持っていませんが、私のアプローチはあなたにいくつかのアイデアを与えるでしょう。

+0

またはあまりにも長くアイドル状態になっている。 –

0

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

ロボットの検出が本当に重大な場合は、すべてのキーストロークとマウスの動きを記録します。通常のユーザーには、サイトの入力とナビゲートに関連するエラーと不確実性の割合があります。戻るボタンを使わずにサイトを簡単かつ迅速に(ポイントaからポイントbまで直線上にマウスを動かす)100%のタイプミスフリーのユーザーは、ボットになる可能性が非常に高いです。

関連する問題