Am besten prüfen Sie die Umgebungsvariable GATEWAY_INTERFACE
. Es enthält die Version des CGI-Protokolls, das der Server verwendet, dies ist fast immer CGI/1.1
. Die von Tony Miller erwähnte Variable HTTP_HOST
(oder eine beliebige HTTP_*
Variable) wird nur gesetzt, wenn der Client sie liefert. Es ist selten, aber nicht unmöglich für einen Kunden, den Header Host
wegzulassen, wobei HTTP_HOST
unset verlassen wird.
Wenn ich irgendwann unter mod_perl laufen werde, überprüfe ich auch die Umgebungsvariable MOD_PERL
, da sie beim ersten kompilieren des Skripts gesetzt wird.
Eine Möglichkeit besteht darin, Umgebungsvariablen zu überprüfen, die von Webservern gesetzt werden.
%Vor%Sie können die Anführungszeichen überspringen:
mein $ is_cgi = definiert $ ENV {GATEWAY_INTERFACE};