php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.07.2005, 01:28  
Gast
 
Beiträge: n/a
Standard

nocheinmal: siehe http://php.net/get_browser

Zitat:
the above example will output something similar to:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
...
[platform] => WinXP
...
zu einfach?



Zitat:
die frage bleibt:
wie identifiziert sich das bs gegen über dem php --- das auslesen (zumindest windows) kann ich ja (siehe oben)
Garnicht. Der client kann USER_AGENT mit der Anfrage mitschicken; das ist eine Freiform-Zeichenkette ...irgendwas ...komplett beliebig.
In der Praxis haben sich aber wenige Schemata herausgebildet.
Die Erkennung per browscap.ini baut darauf, dass ein IE unter win32 eine andere USER_AGENT-Zeichenkette sendet als ein IE unter macOS und Firefox xyz sendet eine ganz andere Kennung und epiphany trotz gleicher engine auch etwas anderes usw. usw.

Das kann funktonieren, tut es in der Praxis auch in weiten Teilen; muss aber nicht funktionieren ...der client kann da irgendwas schicken, wie der Benutzer gerade lustig ist.
Z.B. bei wget kann man das nach Lust und Laune angeben
Zitat:
`-U AGENT-STRING'
`--user-agent=AGENT-STRING'
Identify as AGENT-STRING to the HTTP server.

The HTTP protocol allows the clients to identify themselves using a
`User-Agent' header field. This enables distinguishing the WWW
software, usually for statistical purposes or for tracing of
protocol violations. Wget normally identifies as `Wget/VERSION',
VERSION being the current version number of Wget.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.07.2005, 13:10  
Gast
 
Beiträge: n/a
Standard

thx, ich setze mich noch mal dran und werde nun eine bessere ausarbeitung machen ... mal sehen was ich da so hinbekomme


PHP-Code:
<?php
$curos
=strtolower($_SERVER['HTTP_USER_AGENT']);
$uip=$_SERVER['REMOTE_ADDR'];
$uht=gethostbyaddr($_SERVER['REMOTE_ADDR']);

   
$ip "";
        if (
getenv("HTTP_CLIENT_IP"))  {
                 
$ip getenv("HTTP_CLIENT_IP");
                 } else if(
getenv("HTTP_X_FORWARDED_FOR"))  {
                 
$ip getenv("HTTP_X_FORWARDED_FOR");
                 } else if(
getenv("REMOTE_ADDR"))  {
                 
$ip getenv("REMOTE_ADDR");
                 } else  {
                 
$ip " ???  Unknown ??? ";
        } 

   
$browser "";
        if (
eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}",$HTTP_USER_AGENT,$regs) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}",$HTTP_USER_AGENT,$regs))  {
                 
$browser "Opera $regs[2]";
                 } else if( 
eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )  {
                 
$browser "MS InternetExplorer $regs[2]";
                 } else if( 
eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )  {
                 
$browser "Konqueror $regs[2]";
                 } else if( 
eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$HTTP_USER_AGENT,$regs) )  {
                 
$browser "Lynx $regs[2]"
                 } else if( 
eregi("(netscape6)/(6.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )  {
                 
$browser "Netscape $regs[2]";
                 } else if( 
eregi("mozilla/5",$HTTP_USER_AGENT) )  {
                 
$browser "Mozilla";
                 } else if( 
eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$HTTP_USER_AGENT,$regs) )  {
                 
$browser "Mozilla $regs[2]";
                 } else if( 
eregi("w3m",$HTTP_USER_AGENT) )  {
                 
$browser "w3m";
                 } else  {
                 
$browser " ???  Unknown ??? ";
        }

   
$os "";
        if (
strstr($curos,"mac")) {
                 
$os="MacOS";
                 } else if (
strstr($curos,"linux")) {
                 
$os="Linux";
                 } else if (
strstr($curos,"win")) {
                 
$os="Windows";
                 } else if (
strstr($curos,"bsd")) {
                 
$os="Free-BSD";
                 } else if (
strstr($curos,"qnx")) {
                 
$os="QNX";
                 } else if (
strstr($curos,"sun")) {
                 
$os="SunOS";
                 } else if (
strstr($curos,"solaris")) {
                 
$os="Solaris";
                 } else if (
strstr($curos,"irix")) {
                 
$os="IRIX";
                 } else if (
strstr($curos,"aix")) {
                 
$os="AIX";
                 } else if (
strstr($curos,"unix")) {
                 
$os="Unix";
                 } else if (
strstr($curos,"amiga")) {
                 
$os="Amiga";
                 } else if (
strstr($curos,"os/2")) {
                 
$os="OS/2";
                 } else if (
strstr($curos,"beos")) {
                 
$os="BeOS";
                 } else { 
                 
$os=" ???  Unknown ??? ";
        }

   print(
"Ihre IP: $ip 
"
);
   print(
"Ihr Browser: $browser 
"
);
   print(
"Ihr Betriebssystem ist:  $os 
"
);
   print(
"Genaue info's über das BS und den Browser des Users: $curos 
"
);
   print(
"Die IP ist: $uip 
"
);
   print(
"Die Host IP ist: $uht 
"
);
?>
?>[/php]

 
Alt 24.07.2005, 13:17  
Gast
 
Beiträge: n/a
Standard

öhem....ja.
get_browser() ist also offenkundig zu einfach
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrdimensionales array als String codieren und wieder auslesen usefullness PHP Tipps 2008 2 09.05.2008 07:15
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String auslesen Shaira PHP Tipps 2006 11 01.12.2006 17:52
[Erledigt] Erweiterung der Suche PHP Tipps 2007 2 01.12.2005 19:30
mal wieder eine suche lomtas Datenbanken 0 12.07.2005 11:03
[JS] Regex: Zahl aus String auslesen [gelöst] freq.9 HTML, Usability und Barrierefreiheit 3 27.06.2005 12:02
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
probleme mit suche in string PHP Tipps 2005 32 17.02.2005 07:09
[Erledigt] SQL Suche aus einem String Datenbanken 3 31.12.2004 14:43
[Erledigt] CURL / PHP bestimmten String auslesen PHP-Fortgeschrittene 2 05.10.2004 18:22
string richtig auslesen PHP-Fortgeschrittene 9 25.09.2004 21:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.