PHP / Tipps / Browsererkennung

von: Werner Zenk

Browsererkennung über den HTTP_USER_AGENT.

Browsererkennung Demo:
CCBot/1.0 (+http://www.commoncrawl.org/bot.html)

Quelltext:bsp_user_agent.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$agent 
= (strstr($_SERVER["HTTP_USER_AGENT"], "Gecko") ? "Mozilla" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "Firefox") ? "Firefox" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE") ? "MSIE" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "Avant") ? "Avant" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "Opera") ? "Opera" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "AppleWebKit") ? "AppleWebKit" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "Safari") ? "Safari" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "Konqueror") ? "Konqueror" "");
$agent .= (strstr($_SERVER["HTTP_USER_AGENT"], "Chrome") ? "Chrome" "");

switch (
$agent) {
 case 
"MSIE":
      echo 
"Internet Explorer";
      break;
 case 
"MSIEAvant":
      echo 
"Avant";
      break;
 case 
"MozillaFirefox":
      echo 
"Mozilla Firefox";
      break;
 case 
"Opera":
      echo 
"Opera";
      break;
 case 
"MozillaAppleWebKitSafari":
      echo 
"Safari";
      break;
 case 
"MozillaKonqueror":
      echo 
"Konqueror";
      break;
 case 
"MozillaAppleWebKitSafariChrome":
      echo 
"Google Chrome";
      break;
 default:
      echo 
$_SERVER["HTTP_USER_AGENT"];
 }
?>



List of User Agent Strings
Hits: 663 - Bewertungen: 0 
    Ihr Kommentar
      Sie vermissen auf dieser Seite wichtige Informationen oder haben Hinweise für uns?
Kommentare: 16 » aufmachen   
pati9991:
und was ist mit dem avant browser?

Idownu:
if (ereg("Avant",$HTTP USER AGENT)) echo 'avant';

safari:
if (ereg(*Safari*,$HTTP USER AGENT)) echo 'safari';

CookIe:
habe heute glaube ich über 3 Stunden danach gesucht und NICHTS gefunden was mir wirklich weitergeholfen hat, und nun habe ich es .. DANKE! *sMiLe* =)

Flooo:
woah danke hat echt geholfen macht so weiter!

joerg:
gibts auch die möglichkeit für einen Default wert?

ouzo:
ja, einfach das ganze als switch aufbauen (php.net/switch)

EURoBa:
Danke! Hat mir sehr geholfen

julian-lehmann.com:
danke hat mir sehr geholfen nach dem langen suchen mal ein erfolg

Tox!c Wolf:
Vielleicht sollte noch erwaehnt werden, das man die Reihenfolge beachten muss. Bzw. Wenn man den IE vor Mozilla setzt, dann heisst es, man benutzt Mozilla. Der IE wird (ob wohl ich es nicht verstehe) als Mozilla ausgegeben... [HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Slàn Tox!c Wolf

Pascal:
hi kleine frage kann ich ein Befehl einbetten das wenn es Firefox ist man weitergeleitet wird au z.B. site 1.htm und wenn irgendein anderer browser ist auf site 2.htm? thx im voraus

EsquadrAo:
was ist wenn den Server kein Php unterstützt, wie sieht dann denn script aus? esquadrao.de

Werner:
leer

404 Nicht gefunden:
Wenn der Server kein php unterstützt, kann man auf so Sachen wie Java Script zurückgreifen, wobei das nicht das Optimum ist.Den IE Speziell kann man auch mit <!--[if IE]>Du benutzt den Internet Explorer<![endif]-->erkennen...Das (besonders letzteres) sind aber wie gesagt keine vernünftigen Lösungen.

ojekt:
Also wenn man schon Codeschnipsel anbietet dann bitte nicht so etwas, das ist ja total schrecklich.

silberfisch:
@PascalDas geht einfach, du musst einfach nur die Bedingung erweitern, bzw. in den head-Bereich schreiben, mit einem meta-tag:für dein Firefox-beispiel, einfach die URI ändern, die Dauer, bis er weiterleitet und voila hast du's.silberfisch



Hilfe finden Sie im » netzgemein.de - Forum. Auch als „Gast” können Sie dort Fragen stellen!
 Das könnte Sie interessieren:
Inhalt mit Legende  CSS Befehle: Abstand  Colorfader - Mit diesem Tool können Sie sich einen beliebigen Text von einer Farbe in einer andere umwandeln lassen.  Browsererkennung - Browsererkennung über den HTTP_USER_AGENT.  IE - Zeilenumbruch nach Form-Tag verhindern  Html-Tag Entferner - Mit diesem Tool können Sie alle HTML-Tags aus einem Dokument entfernen. Übrig bleibt nur noch der reine Text.  Dynamisches Eingabefeld - mit Auswahlliste  Datenklau im Web (2)  …mehr
© 2000-2010 Homepage-Total.de         KontaktImpressumBanner
Besucher Online: 10   Heute: 280   Gestern: 4.788   Gesamt: 301.661