Robert Allerstorfer: Windows-Umgebungsvariablen

Beitrag lesen

Also wenn ich das mit IIS4 auf NT probiere, bekomme ich auch alle Variablen. Mit Apache auf NT habe ich es nicht probiert, aber ich nehme an, Michael verwendet diesen, sodass es dort wohl auch funzt. Welchen Webserver verwendest also Du?

Hi,

das ist interessant. Es liegt also an der webserver-software. Ich verwendete Apache und verglich nun die variablen, die Apache bzw. IIS ausgeben:

Beide server geben (bei direktem scriptaufruf, also mit GET) folgende umgebungsvariablen her:

COMSPEC
GATEWAY_INTERFACE
HTTP_ACCEPT
HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE
HTTP_CONNECTION
HTTP_HOST
HTTP_USER_AGENT
PATH
REMOTE_ADDR
REQUEST_METHOD
SCRIPT_NAME
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
SYSTEMROOT
WINDIR

Nur von Apache/1.3.9 (Win32) wird noch folgendes hergegeben:

DOCUMENT_ROOT
HTTP_ACCEPT_CHARSET
HTTP_PRAGMA
QUERY_STRING
REMOTE_PORT
REQUEST_URI
SCRIPT_FILENAME
SERVER_ADDR
SERVER_ADMIN
SERVER_SIGNATURE

Microsoft-IIS/4.0 rückt hingegen mit noch viel mehr raus:

COMPUTERNAME
CONTENT_LENGTH
HTTPS
INCLUDE
INSTANCE_ID
LIB
LOCAL_ADDR
NUMBER_OF_PROCESSORS
OS2LIBPATH
OS
PATH_INFO
PATH_TRANSLATED
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
REMOTE_HOST
SERVER_PORT_SECURE
SYSTEMDRIVE
USERPROFILE

Es scheint also, dass angaben über die CPU auf windoze nur möglich sind, wenn das Microsoft-eigene server-produkt läuft. Vielleicht ist's aber auch nur noch ein zusätzlicher security bug vom Microsoft server.

rob.