. .

PHP • Browser & IP-Adresse indentifizieren

Nutzerdaten per php auslesen

Beim Aufruf einer Website sendet jeder Browser eine Kennung, die dem Server angibt, um welchen "User-Agent" es sich handelt. Webdesigner können sich das zunutze machen, indem sie für verschiedene Browser unterschiedliche Layouts programmieren, um die Kompatibilität der Seite zu gewährleisten.


Hier sehen Sie, was Sie durch einen Besuch dieser Webseite an Informationen preisgeben:

Ihr Browser:
CCBot/2.0 (http://commoncrawl.org/faq/)
Ihre IP Adresse:
54.87.136.120 Port: 34732

Ein Beispiel per getenv():


Mit PHP kann man die User-Agent-Angabe live auslesen, wie das folgende Beispiel zeigt.

<?php
$browser = getenv('HTTP_USER_AGENT');
$ip = getenv('REMOTE_ADDR');
$port = getenv('REMOTE_PORT');
echo "$browser";
echo "$ip";
echo "$port";
?>

Zur Erklärung:


getenv() - Liefert den Wert einer Umgebungsvariable. Eine Liste aller Umgebungsvariablen können Sie über die Funktion phpinfo() anzeigen lassen.


Ein Beispiel per get_browser():


Mit der Funktion get_browser() kann man die Fähigkeiten des Browsers des Benutzers ermitteln. Sobald ein Browser auf ein Skript zugreift, wird der Wert von "$HTTP_USER_AGENT" ausgelesen. Die Funktion get_browser() sucht den entsprechenden Eintrag in der browscap.ini. Sollte nun die Browser-Version in der Datei vorhanden sein, so werden alle Möglichkeiten des Browsers in ein Objekt bzw. Array geschrieben.

Wichtig! Um diese Funktion zu nutzen, muss die browscap-Einstellung ihrer php.ini auf die richtige browscap.ini-Datei des Systems verweisen. Die Datei browscap.ini ist nicht Bestandteil von PHP, sie muss also installiert werden. Eine aktuelle Version der browscap.ini können die auf browscap.org/ herunterladen.

<?php
$browser = get_browser(null, true);
print_r($browser); ?>

Das Beispiel erzeugt folgende Ausgabe:


Zur Erklärung:


get_browser() - Ermittelt die Fähigkeiten des Browsers eines Benutzers. Die ermittelten Informationen werden in einem Objekt (false) oder Array (true) zurückgegeben, das verschiedene Datenelemente enthält. Dazu gehören bsw. die Haupt- und Unterversions-Nummer und Kennung des Browsers sowie TRUE/FALSE-Werte für dessen Fähigkeiten, wie z.B. Frames, JavaScript, Cookies usw.

Es sei jedoch darauf hingewiesen, dass die Informationen zu JavaScript, Cookies etc. nur etwas über die Fähigkeiten des ermittelten Browser aussagen, und nicht darüber, ob der Benutzer diese Funktionen auch aktiviert hat.