Auswertung von HTTP_USER_AGENT
stefan
- php
hallo,
ich müsste den http_user_agent auswerten um daraus das system und den browser abzuleiten.
im form habe ich gefunden:
if ( eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$agent)){$browser = "Internet Explorer"; }
else if( eregi("(netscape)/([0-9]{1,3}.[0-9]{1,3})",$agent)){$browser = "Netscape";}
else if( eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$agent)){$browser = "Mozilla";}
else if(eregi("opera",$agent)) {$browser = "Opera";}
else{$browser = "?";}
wie erhalte ich das system bzw. welche genauen zeichencodes stehen für mac, linux usw.?
wie erhalte ich die versionsnummer der browser?
grüsse
stefan
Hallo!
Das ganze ist nicht so einfach, nicht nur das die Anzahl der OS:Browser Kombinationen in Ihren verschiedenen Versionen gegen unendlich geht(vielleicht nicht ganz ;-)), jedenfalls wären IMHO einige 1000 Zeilen notwendig das halbwegs verläßlich zu machen. Außerdem ist der User-Agent string manipulierbar.
Daher macht man das normalerweise nicht.
Grüße
Andreas
Hallo,
statistikprogramme machen das doch auch.
grüsse
stefan
Moin Moin !
statistikprogramme machen das doch auch.
Klar. Wie der olle Churchill (oder wer war's noch gleich) schon sagte: Traue keiner Statistik, die Du nicht selbst gefälscht hast.
Oder auch: Wenn Du mit der einen Pobacke auf einem Haufen glühender Kohlen und mit der anderen auf einem Stapel Trockeneis sitzt, hast Du es im statistischen Mittel gemütlich warm. Die Brandblasen und Erfrierungen sind halt die statistischen Fehler.
Noch ein Spruch gefällig ? "Leute, freßt Scheiße! Milliarden Fliegen können nicht irren!"
In vier Worten: Garbage in, garbage out.
Alexander
Ei guude wie?
Naja, ganz so schlimm ist's halt auch nicht. Ich logge seit Ende November die Daten meiner Besucher und hab mir auch eine Auswertung der Browser dazu gebastelt. Ich versuche dabei aber erst garnicht, die Versionsnummern der Browser zu unterscheiden, sondern schlichtweg den Browsernamen.
Opera macht's einem da einfach (sofern er sich nicht tarnt), weil er als einziger das Wörtchen "Opera" mit sich führt. "MSIE" taucht auch nur dort auf, wo der Client tatsächlich ein IE ist. Mozilla "erkenn" ich daran, dass in dem User-Agent-String weder die Wörter "Netscape" oder "MSIE" auftauchen, dafür aber "Mozilla" und "Gecko". Falls in diesem Zusammenhang doch das Wörtchen "Netscape" fällt, wird er halt zu NN dazugezählt. Was nicht in eine der vier Kategorien fällt, wird als "Sonstige" ausgewiesen.
Ich weiss, dass dies nicht das Non-plus-Ultra der Browser-Auswertung ist, dass manche Agents falsch geloggt werden und die Statistik _garantiert_ nicht zu 100% stimmt. Aber wenn's zu 90% stimmt, reicht das mir persönlich schon. Ist auch eher für den groben Überblick gedacht...
Das PHP-Skript zu meiner Statistik, lieber Stefan, gibt's übrigens auf meiner Homepage ;)
LG ausm Hesseland
Lemmy
Moin Moin !
Ich weiss, dass dies nicht das Non-plus-Ultra der Browser-Auswertung ist, dass manche Agents falsch geloggt werden und die Statistik _garantiert_ nicht zu 100% stimmt. Aber wenn's zu 90% stimmt, reicht das mir persönlich schon. Ist auch eher für den groben Überblick gedacht...
Ist ja auch völlig ok. Man muß halt nur wissen, daß die Daten nicht unbedingt bis auf die letzte Stelle stimmen, sondern daß immer ein Fehler dabei ist. Und genau darauf wollte ich hinweisen.
Ich persönlich würde mir die Exoten nochmal rausfischen, einfach aus Neugier, was sich so im WWW rumtreibt.
Alexander
Hallo,
Opera macht's einem da einfach (sofern er sich nicht tarnt), weil er als einziger das Wörtchen "Opera" mit sich führt.
Auch bei den _auswaehlbaren_ Tarnmoeglichkeiten ist noch immer das Wort Opera im UA enthalten.
MfG, Thomas
hi
statistikprogramme machen das doch auch.
diese Programme haben oft 50 Zeilen und mehr mit if()-Konstrukten, nur um die bekanntesten Browser zu erkennen...
Was willst du damit denn erreichen?
Grüße aus Bleckede
Kai
Ei guude wie?
Mit der Browser-Auswertung solltest Du vorsichtig sein. Folgendes ist bspw. Mozilla:
Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.2.1) Gecko/20021130
Der IE präsentiert sich meist in folgender Form:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Wenn Du also nach dem Wort "Mozilla" suchst, werden _beide_ erfasst. Der IE zählt dann sowohl als Mozilla sowie als IE.
Mein Tipp: Log einfach mal probeweise ein paar Daten auf Deiner Webseite mit, und dann überleg Dir genau, wie Du Deine Regeln anwendest.
Und nochwas: "Windows NT 5.0" ist Win2k und "NT 5.1" WinXP.
LG ausm Hesseland
Lemmy
Moin Moin !
Tja, an manchen Tagen melden sich alle mein Browser als "Mozilla 4.0 (compatible; Citroen-BX/19)". Immer dann, wenn ich im Webwasher die passende Checkbox setze ;-)
Es macht also keinen Sinn, aus HTTP_USER_AGENT irgendwas ableiten zu wollen.
Alexander