CGI-Umgebungsvariablen ermitteln

| | Kommentare (0)

Umgebungsvariablen ermitteln

Perl stellt Umgebungsvariablen im %ENV zur Verfügung.

Nachfolgend ein kleines Programm mit dessen Hilfe die Umgebungsvariablen auf einem Webserver ermittelt werden können.

#!/usr/bin/perl
use strict;
print "Content-type: text/html\n\n";


print qq~<html>
<head><title>printenv</title></head>
<body>
<pre>~;

print qq~PerlVersion: $]

Umgebungsvariablen:\n~;

my ($key,$value);

while ( ($key,$value)  = each %ENV ) {
        print qq~$key : $value\n~;
}

print qq~</pre></body></html>~;
exit;

Das Programm im cgi-bin Verzeichnis des Webservers z.B. als printenv.pl abspeichern und anschließend im Browser aufrufen: http://beispiel.tld/cgi-bin/printenv.pl.

Übersicht CGI-Umgebungsvariablen

 

Standardvariablen

SERVER_SOFTWARE Der Name und die Versionsnummer der verwendeten Serversoftware.
SERVER_NAME Der Hostname der Website.
GATEWAY_INTERFACE Die Versionsnummer des CGI, welches der Webserver verwendet.
SERVER_PROTOCOL Der Name und die Versionsnummer des verwendeten Protokolls.
REQUEST_METHOD Die HTTP-Methode der Client-Anfrage.
PATH_INFO Pfadinformation (URL)
PATH_TRANSLATED Pfadinformation (Dateipfad)
SCRIPT_NAME URL-Pfad des Skripts, das aufgerufen wurde.
QUERY_STRINGDie Parameter, die an ein CGI-Skript gesendet wurden.
REMOTE_HOSTDer Hostname des Client- bzw. Proxy-Rechners. Der Rechner muss einen DNS-Eintrag besitzen und HostNameLookup aktiviert sein.
REMOTE_ADDR Die IP-Adresse des Client- bzw. Proxy-Rechners.
AUTH_TYPE Die Art des verwendeten Authentifizierungsverfahrens.
REMOTE_USER Die User-ID, die bei der Authentifizierung verwendet wurde.
REMOTE_IDENTDas Ergebnis der IDENT-Anfrage an den Client. Wird nur gesetzt, wenn IdentyCheck aktiviert ist.
CONTENT_TYPE Diese Variable enthält den MIME-Typ, wenn eine Anfrage (POST, PUT) weitere Daten enthält.
CONTENT_LENGTH Die Länge der Daten in Bytes, wenn eine Anfrage weitere Daten enthält.

Headervariablen

HTTP_ACCEPT Eine Liste der MIME-Typen, die der Client verarbeiten kann.
HTTP_ACCEPT_CHARSET Eine Liste der Zeichensätze, die der Client verarbeiten kann.
HTTP_ACCEPT_ENCODING Eine Liste der Kodierungen, die der Client verarbeiten kann.
HTTP_ACCEPT_LANGUAGE Die Sprachen, die der Client verarbeiten (verstehen) kann.
HTTP_AUTHORIZATION Die Daten einer WWW-Authentifzierung
HTTP_CACHE_CONTROL Enthält Informationen, ob und wie ein Objekt gespeichert werden kann und ob ein Cache ein gespeichertes Objekt liefern darf.
HTTP_COOKIE Cookie, sofern akzeptiert.
HTTP_FROM Die E-Mail-Adresse des Clients. Sie wird aber nur in sehr wenigen Fällen übermittelt.
HTTP_HOST Der Name des Webservers, den der Client angesprochen hat.
HTTP_PRAGMA HTTP/1.0-Variante von HTTP_CACHE_CONTROL
HTTP_REFERER Die URL der Seite, von der aus der Link verfolgt wurde.
HTTP_USER_AGENT Der Name und die Versionsnummers des Clients.
HTTP_VIA Informationen über den Proxy, über den die Anfrage gestellt wurde.
HTTP_FORWARDED HTTP/1.0-Variante von HTTP_VIA.

Zusätzliche Variablen

Diese zusätzlichen Variablen sind server-abhängig: Die folgende Tabelle bezieht sich auf den Apache Webserver.

DATE_LOCAL Lokales Datum und Uhrzeit. Lokal bezieht sich meist auf den geographischen Serverstandort ;).
DATE_GMT Datum und Uhrzeit in GMT (Greenwich Mean Time).
DOCUMENT_NAME Der Dateiname des angeforderten Dokuments ohne zusätzliche Pfadangabe.
DOCUMENT_PATH_INFO Die Pfadangabe zum angeforderten Dokument.
DOCUMENT_ROOT Der Pfad, der als DocumentRoot gesetzt wurde.
DOCUMENT_URI URI des angeforderten Dokuments.
LAST_MODIFIED Datum und Uhrzeit der letzten Änderung des angeforderten Dokuments.
PATH Entspricht der Shell-Variablen PATH.
REMOTE_PORT Der auf der Client-Seite verwendete Port.
REQUEST_URI URL der angeforderten Datei.
SCRIPT_NAME Relativer Dateipfad des aufgerufenen Scripts.
SCRIPT_FILENAME Absoluter Dateipfad des aufgerufenen Scripts.
SCRIPT_URI Absolute URL incl. Hostname des aufgerufenen Scripts.
SERVER_ADMIN Die E-Mail-Adresse des ServerAdmin, sofern gesetzt.
USER_NAME Der Name des Users, der den Apache gestartet hat. Wird vom Apache-Include-Modul gesetzt.

Siehe auch

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 16.05.08 11:33.

Windows Shell Extension: Open Command Prompt ist der vorherige Eintrag in diesem Blog.

Win32::Clipboard - Zugriff auf die Windows-Zwischenablage ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.