Hi Sandra,
ich versuche alles, was möglich ist serverseitig zu
regeln, da es dann gültig für alle läuft und nicht
nur für einige.
sehr lobenswert. :-)
ich habe ein neues projekt mit hoher fakerquote und
vielen non-java-usern und ich kann die faker nur
erfolgreich filtern, wenn alles bei hundert prozent
der user klappt, also serverseitig...
Das sagt mir aber nicht, was genau Du mit dem UserAgent-String anfangen können willst. Denn der ist so was von leicht zu fälschen, daß Dich diese 'Information' nicht wirklich glücklich machen wird.
Nur so eine Idee: Mach doch mal ein paar Tests, was die einzelnen UserAgents an "Accept:"-Headern senden.
Das ist zwar auch ziemlich schauerlich, aber es ist sehr viel weniger Leuten bekannt, daß auch diese Information ggf. eine Art "fingerprint" des UserAgents darstellt. Insofern ist die Chance, daß jemand _das_ fälscht, sehr gering - vor allem, weil er dabei die Semantik seines Browsers ändern würde.
Andererseits könnte diese Liste von der Browser-Installation abhängen (plugins?) - es wird also ggf. schwierig sein, ein hinreichend tolerantes Parsing-Verfahren zu schreiben.
Ein geeignetes Spielzeug zur Datenerfassung:
http://www.schroepl.net/cgi-bin/http_trace.pl
Alternative: den "Accept"-Header in das Log-Format Deines Apache aufnehmen, zusammen mit dem UserAgent - und dann ein Skript schreiben, das eine Korrelation dieser Felder zu finden versucht.
Viele Grüße
Michael