PHP-Code zur Erkennung des Betriebssystems unter Berücksichtigung der Ubuntu-Version in Firefox
Habe mir überlegt eine statistische Erfassung zu machen wie viele Besucher meines Blogs welche Ubuntu-Version zu machen, da mir das nun selbst zuviel geworden ist und ich eigentlich überhaupt keine Daten über irgendjemanden speichern will, weil ich für die Erfassung ja auch Anhaltspunkte(etwa die IP-Adresse) für die Reloadsperre bräuchte. überlasse ich das Codeschnipsel mal der Allgemeinheit:
—————————————————————-
function detectOS() {
$OSList = array
(
‘Windows 3.11′ => ‘Win16′,
‘Windows 95′ => ‘(Windows 95)|(Win95)|(Windows_95)’,
‘Windows 98′ => ‘(Windows 98)|(Win98)’,
‘Windows 2000′ => ‘(Windows NT 5.0)|(Windows 2000)’,
‘Windows XP’ => ‘(Windows NT 5.1)|(Windows XP)’,
‘Windows Server 2003′ => ‘(Windows NT 5.2)’,
‘Windows Vista’ => ‘(Windows NT 6.0)’,
‘Windows 7′ => ‘(Windows NT 7.0)’,
‘Windows NT 4.0′ => ‘(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)’,
‘Windows ME’ => ‘Windows ME’,
‘Windows CE’ => ‘Windows CE’,
‘Microsoft PocketPC’ => ‘PPC’,
‘Ubuntu 9.04′ => ‘Ubuntu/9.04′,
‘Ubuntu 8.10′ => ‘Ubuntu/8.10′,
‘Ubuntu 8.04 LTS’ => ‘Ubuntu/8.04′,
‘Ubuntu 7.10′ => ‘Ubuntu/7.10′,
‘Ubuntu 7.04′ => ‘Ubuntu/7.04′,
‘Ubuntu 6.10′ => ‘Ubuntu/6.10′,
‘Ubuntu 6.06 LTS’ => ‘Ubuntu/6.06′,
‘Ubuntu 5.10′ => ‘Ubuntu/5.10′,
‘Ubuntu 5.04′ => ‘Ubuntu/5.04′,
‘Ubuntu 4.10′ => ‘Ubuntu/4.10′,
‘Kubuntu’ => ‘Kubuntu’,
‘Ubuntu’ => ‘Ubuntu’,
‘Debian’ => ‘Debian’,
‘Slackware’ => ‘Slackware’,
‘Mandriva’ => ‘Mandriva’,
‘OpenSuse’ => ‘openSUSE’,
‘Gentoo’ => ‘Gentoo’,
‘Fedora’ => ‘Fedora’,
‘CentOS’ => ‘CentOS’,
‘Knoppix’ => ‘Knoppix’,
‘RedHat’ => ‘RedHat’,
‘Novell’ => ‘Novell’,
‘MEPIS’ => ‘MEPIS’,
‘Xandros’ => ‘Xandros’,
‘Mac OS’ => ‘(Mac_PowerPC)|(Macintosh)’,
‘OpenBSD’ => ‘OpenBSD’,
‘NetBSD’ => ‘NetBSD’,
‘ApacheBench’ => ‘ApacheBench’,
‘AIX’ => ‘AIX’,
‘IRIX’=> ‘Irix’,
‘OSF’ => ‘DEC OSF’,
‘HP-UX’ => ‘HP-UX’,
‘BSDi’ => ‘BSDi’,
‘QNX’ => ‘QNX’,
‘BeOS’ => ‘BeOS’,
‘OS/2′ => ‘OS/2′,
‘Sun OS’ => ‘SunOS’,
‘Symbian’ => ‘Symbian’,
‘PalmOS’ => ‘PalmOS’,
‘Linux’ => ‘(Linux)|(X11)’,
‘Unix’ => ‘Unix’,
‘Search Bot’=>’(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)’
);
foreach($OSList as $CurrOS=>$Match)
{
if (eregi($Match, $_SERVER['HTTP_USER_AGENT']))
{
return $CurrOS;
}
}
}
echo detectOS();
—————————————————————-
Das Gerüst dazu habe ich aus der Geekopedia. Natürlich kann man den Code noch individuell anpassen so, dass er die häufigsten Betriebssysteme der Besucher Ihrer Homepage ganz am Anfang listet und nicht jedesmal die Halbe foreach-Schleife durchläuft. Würde mich um Kommentare und Erweiterungen freuen. Erweiterungen bitte an webmaster@ubuntu-blog.at schicken, falls sie etwas lang geraten sind.
Ähnliche Artikel:
18. November 2008 um 02:17
Wäre es nicht einfacher, ein Analyse Plugin für WordPress zu installieren?
Gruss nach Österreich
18. November 2008 um 07:29
Wäre bestimmt einfacher, aber ich glaub, es gibt noch keines, welches die Ubuntu-Versionen unterscheidet!
18. November 2008 um 08:43
Für die Reload-Sperre könntest du auch einen Cookie setzen, statt die IP zu verwenden.
18. November 2008 um 08:51
Ja. Das hab ich mir auch schon überlegt allerdings verwenden halt manche Leute Proxies….und da kann es halt zu einem Problem werden. Ausserdem kann jeder seine Cookies löschen und manche machen das sehr häufig(beim Beenden von FF) also wäre die Statistik wohl etwas verfälscht. Am besten wäre wohl eine Kombination aus Cookie und IP.
18. November 2008 um 17:27
Also das Analysetool (CyStats) was ich einsetze unterscheidet teilweise die Ubuntu Versionen. Die alten (Gutsy, Feisty..) werden problemlos erkannt. Bei den neuen (Hardy, Intrepid) kann er es noch nicht unterscheiden. Aber es ist wirklich das beste Analyseplugin das es für WordPress gibt, ohne dieses würde das Bloggen nur halb soviel spass machen…
18. November 2008 um 17:58
Na gut. Dann probier ich das wohl auch aus. ABER ich werde es weiterentwickeln
Edit: Okay. Das war kein Problem: einfach diese Zeilen an entsprechender Stelle einfügen(Datei: wp-content/plugins/cystats/includes/os.php):
852=>array('Ubuntu Jaunty', '(JAUNTY)'),853=>array('Ubuntu Jaunty', 'UBUNTU/9.04'),
854=>array('Ubuntu Intrepid', '(INTREPID)'),
855=>array('Ubuntu Intrepid', 'UBUNTU/8.10'),
856=>array('Ubuntu Hardy', 'UBUNTU/8.04'),
857=>array('Ubuntu Hardy', 'UBUNTU/8.04'),
18. November 2008 um 18:28
Saubere Arbeit!
Das Ubuntu Logo fehlt jedoch noch vorne dran.
Aber mit dem kann man leben…
18. November 2008 um 21:28
Hi
Bei Kubuntu fehlt ein Beistrich und das break ist nutzlos.
18. November 2008 um 21:28
Um zu bezwecken, dass das Plugin das macht muss man einfach in der Datei wp-content /plugins /cystats /includes/view.class.php nach ubuntu.png suchen und an entsprechender Stelle folgendes nachtragen:
852=>’ubuntu.png’,
853=>’ubuntu.png’,
854=>’ubuntu.png’,
855=>’ubuntu.png’,
856=>’ubuntu.png’,
857=>’ubuntu.png’,
Beistrich wurde gesetzt, break entfernt. Danke für den Hinweis.
18. November 2008 um 22:04
Hey Georg
Vielen Dank!
Jetzt habe ich noch viel mehr freude an diesem super Plugin…!
http://www.pic-upload.de/18.11.08/p86hoq.png
Mit freundlichen Grüssen
Andi