2012-01-18 8 views
2

誰かが私のウェブサイトのコードにアクセスしようとしないようにしたいと思います。その意味でのコードは、ボットのようなものでトラフィックの急増の原因となるプログラムです。例えばWebアプリケーションへのコード/プログラムアクセスを防ぐにはどうすればよいですか?

URL url = new URL("http://www.example.com"); 
URLConnection yc = url.openConnection(); 

I接続を開く上記のJavaコードを防止したいです。

これは可能なのですが、私がそうすることができれば、副作用が発生します(ユーザーは特定のブラウザからウェブサイトにアクセスできません)。

+5

*あなたのウェブサイトへの*すべての*アクセスは、Firefox、Chromeなどがプログラムであるという意味で、コードによるものです。これらのブラウザのように見えない、または動作しないプログラムを検出しようとすることはできますが、絶対に安全ではありません。しばしば、それは大丈夫です。 –

+0

これは不可能です。 – Cosmin

+0

私は人間とロボットを区別する可能性が高いです。 – Ahamed

答えて

3

短い答えはできません。しかし、あなたはユーザーエージェントのようないくつかのチェックを行うことができます(しかし、これは簡単に変更/偽装されます)。

しかし、大部分を取得し、ユーザーエージェントが受け入れ可能かどうかを確認したい場合、デバイスにアクセスしているモバイルデバイスがあることを確認します。

私が知っているもう一つの方法は、ソースが作成しているリクエストの数を追跡し、接続が「合法」であるかどうかをテストするリクエスト/時間のしきい値を持つことです。私はこれを自分でやっていないので、信頼性について話すことはできません。

ロボットを区別したい場合は、ツール( ReCaptcha)が役立ちます。

関連する問題