PHP/Die Umgebungsvariablen des Webservers
Daten können nicht nur von der lokalen Festplatte des Webservers gelesen werden. Dieselben Funktionen eignen sich auch für den Zugriff auf entfernte Rechner per FTP und HTTP. Dabei wird von einem "Wrapper" gesprochen - einer Umleitung des Funktionsaufrufs an eine andere Instanz zur Ausführung.
PHP 5 verfügt über ein starkes Socket-Modul, das die direkte Programmierung auf TCP-Ebene erlaubt und so den Zugriff auf andere Rechner bequemer gestaltet. Dieses Modul ersetzt das früher verwendete Curl-Modul, da die Curl-Bibliothek fehlerhaft ist.
Mit den Umgebungsvariablen des Webservers können viele wichtige Daten in Erfahrung gebracht werden, sowohl über den eigenen Webserver wie auch über den Webbrowser, der die aktuelle Verbindung inne hat. Die wichtigsten Umgebungsvariablen des Webservers sind die folgenden.
Umgebungsvariable | Beschreibung |
---|---|
SERVER_NAME | Der Rechnername, z. B. "www.beispiel.xx". |
GATEWAY_INTERFACE | Bezeichnung der Schnittstelle (z. B. "CGI/1.1"). Dieser Wert ist nur bei CGI verfügbar, nicht wenn PHP als Apache-Modul läuft. |
SERVER_PROTOCOL | Das Protokoll des Webservers, meist "HTTP/1.1". |
SERVER_PORT | Verwendeter Port, im WWW meist 80 (der Standardport für HTTP). |
REQUEST_METHOD | Die zuletzt verwendete Anforderung des Webbrowsers. Kann "GET", "POST" oder "PUT" sein. |
PATH_INFO | Vollständiger virtueller Pfad des aufgerufenen Skripts. |
PATH_TRANSLATED | Physischer Pfad zum Skript, wenn der Webserver diese Information bereitstellt. |
SCRIPT_NAME | Pfad und Name zum aufgerufenen Skript (z. B. "/cgi-bin/xxx.php"). |
QUERY_STRING | Enthält die "GET"-Daten (z. B. "var=value&session=1234"), wenn die letzte Anforderung "GET"-Daten enthielt. |
REMOTE_HOST | Der Name des Clients, z. B. "rechner.beispiel.yy". |
REMOTE_ADDR | Die IP-Adresse des Clients. |
AUTH_TYPE | Authentifizierungstyp bei gesicherten Sites. |
REMOTE_IDENT | Identifikator. |
CONTENT_TYPE | Angabe des Inhaltstyps im MIME-Format (z. B. "text/html"). |
CONTENT_LENGTH | Länge des Inhalts in Byte. |
SERVER_SOFTWARE | Wie sich der Webserver meldet (z. B. "Apache/1.3.6 (Unix) PHP/3.0.11 ApacheJServ/1.0b4"). |
HTTP_ACCEPT | Enthält die vom Webbrowser akzeptierten MIME-Typen. |
HTTP_USER_AGENT | Kennung des Webbrowsers (z. B. "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)"). Der Wert kann bei vielen Webbrowsern manipuliert werden und ist daher nur bedingt aussagekräftig. |
HTTP_COOKIE | Die Cookiedaten, wenn Cookies gesendet werden. |
HTTP_REFERER | Die letzte Adresse, von welcher der Webbrowser kam. Wurde die Seite direkt aufgerufen, ist dieser Wert leer. |
Der Abruf der Umgebungsvariablen des Webservers erfolgt mit dem Superarray "$_SERVER", also z. B. "SERVER_SOFTWARE" mit "$_SERVER['SERVER_SOFTWARE']". Die konkrete Anzahl und Verfügbarkeit der Variablen hängt vom verwendeten Webserver und dessen Konfiguration ab.
<?php
echo "<ul>";
foreach ($_SERVER as $key => $value)
{
echo "<li><b>$key</b>: $value</li>";
}
echo "</ul>";
?>
|
|