2015-07-09 6 views
5

Wenn eine Anfrage an meine Java-Servlet kommt ich seine Useragent bin Überprüfung:bekommen viele Anfragen mit User Agent [Mozilla/5.0]

protected void service(HttpServletRequest request, HttpServletResponse response){ 
    final String UA = request.getHeader("User-Agent"); 
    eu.bitwalker.useragentutils.Browser browser = UserAgent.parseUserAgentString(UA).getBrowser();} 

Die meisten Anfragen hat UA (User Agent) mit darin enthaltenen Informationen, zum Beispiel Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36.
Einige Anfragen (ca. 10%) haben nur Mozilla/5.0 oder Mozilla/4.0.

Bedeutet es, dass sie Bots sind?
Ist es möglich, dass etwas vor dem Servlet den relevanten Teil in der UA entfernt?

Ich verwende HaraldWalker User Agent Utils, um die UA zu identifizieren, und es gibt Mozilla für diese UA zurück.
Aber diese online tool gibt unknown zurück.

Kann mir bitte jemand erklären?

Antwort

2

Es sieht sehr wahrscheinlich aus, dass es sich um eine Art Bot handelt, da dieser Benutzeragent von keinem Mainstream-Browser verwendet wird.

Es lohnt sich, Ihre Protokolle zu filtern, um nur diese Einträge zu extrahieren und zu prüfen, ob sie einem offensichtlichen Bot-ähnlichen Muster folgen. Zum Beispiel kann man sehen:

  • Eine Anforderung alle X Sekunden genau
  • Das alles, was sie zu einer bestimmten Zeit des Tages passieren
  • Dass alles, was sie innerhalb einer sehr kurzen Zeit
  • passiert, dass sie fordern URLs in alphabetischer Reihenfolge
  • an, dass alle Anfragen von einer einzelnen IP-Adresse oder einem begrenzten Bereich von IPs kommen