Christian Seiler: Herausfinden, ob SSL verwendet wird

Beitrag lesen

Hallo dedlfix,

Wenn SSL verwendet wird, gibt es in $_SERVER einen Key namens HTTPS, der dann den Wert on hat.

Der Key ist allerdings nicht standardisiert, z.B. nicht Teil der CGI-Spezifikation. Sowohl Apache als auch IIS setzen die Umgebungsvariable HTTPS=on, wenn SSL/TLS verwendet wird. Wenn dagegen kein SSL/TLS verwendet wird, kann eines der folgenden beiden Situationen eintreten:

- HTTPS=off beim IIS, falls die SSL/TLS-Erweiterung prinzipiell aktiviert,
   nur für diesen Request nicht verwendet wurde
 - HTTPS gar nicht gesetzt immer beim Apache oder beim IIS ohne installierte/
   aktivierte SSL/TLS-Erweiterung

Bei anderen Webservern weiß ich nicht, ob die das genauso tun (wie gesagt: kein Standard) - daher sollte man sich nur darauf verlassen, wenn man weiß, dass der Webserver wie ein Apache oder IIS reagiert.

Noch etwas: Die Umgebungsvariable HTTPS kann nur dann relevant sein, wenn _direkt_ mit dem Webserver über SSL/TLS gesprochen wird - wenn ein SSL-Proxy verwendet wird, dann bekommt der Webserver vom Proxy nur eine HTTP-Anfrage - daher bleibt dann die einzige mögliche Identifikationsmöglichkeit die IP des SSL-Proxies.

Viele Grüße,
Christian

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup