最近、自分のサイトで Java/1.6.0_14 (およびそのバリエーション) のようなユーザー エージェントを見始めました。
これは何を意味するのでしょうか。ブラウザなのかボットなのか
最近、自分のサイトで Java/1.6.0_14 (およびそのバリエーション) のようなユーザー エージェントを見始めました。
これは何を意味するのでしょうか。ブラウザなのかボットなのか
これはおそらく、誰かが Java を使用して Web サイトをクロールしていることを意味します。これは、クローラーが帯域幅を大量に使用したり、robots.txt ファイルを無視したりしない限り、特に気にする必要はありません。通常、正規のクローラーは、問題が発生した場合にクローラーに簡単に連絡できるようにカスタム ユーザー エージェントを作成するのに時間がかかりますが、デフォルトのユーザー エージェントを使用している場合でも、完全に無害である可能性が高くなります。
ただし、Java クライアントから 404 ヒットまたは多数のヒットが急増していることに気付いた場合は、Web サイトのセキュリティ ホールを探しているスパマーから攻撃を受けている可能性があります。サイトが適切に構築されている場合、帯域幅の一部を消費する以外にできることはあまりありませんが、セキュリティ ホールが見つかった場合は、必ず悪用されます。スパマーに適切に対処することはこの回答の範囲を超えていますが、焦土の解決策 (少なくとも短期的な修正として機能します) は、文字列「java」を含むすべてのユーザー エージェントをブロックすることです。
これは、あなたのサイトが誰かのマシンの JVM を介してアクセスされていることを意味します。それは、クローラーまたは単にデータをスクレイピングする誰かである可能性があります。HttpURLConnectionクラスを使用して、ユーザー エージェント文字列を複製できます。以下にサンプルを示します。
import java.net.*;
public class Request {
public static void main(String[] args) {
try {
URL url=new URL("http://google.ca");
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.connect();
System.out.println(con.getResponseCode());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java のHttpURLConnection
クラスは、JVM のバージョン情報をUser-Agent
ヘッダーとして送信します。