Den Unterschied zwischen HTTP_HOST und SERVER_NAME in PHP verstehen
PHP stellt zwei Variablen bereit: $_SERVER['HTTP_HOST'] und $_SERVER[' SERVER_NAME‘], die Informationen über den Host der Webanfrage übermitteln. In diesem Artikel werden die Unterschiede zwischen diesen Variablen erläutert und Hinweise gegeben, wann die einzelnen Variablen verwendet werden sollten.
HTTP_HOST
Die HTTP_HOST-Variable wird aus dem HTTP-Anforderungsheader erfasst und repräsentiert der vom Client angegebene Zielhost. Dieser Wert kann vom Benutzeragenten manipuliert werden und ist aus Sicherheitsgründen nicht unbedingt zuverlässig.
SERVER_NAME
Die Variable SERVER_NAME wird in den Konfigurationsdateien des Servers konfiguriert und stellt die dar Hostname des Servers, der das PHP-Skript hostet. Es ist im Allgemeinen zuverlässiger, da es unter der Kontrolle des Servers steht.
Auswahl zwischen HTTP_HOST und SERVER_NAME
Die geeignete Wahl zwischen HTTP_HOST und SERVER_NAME hängt von der beabsichtigten Verwendung ab:
Überlegungen zur Zuverlässigkeit
It Es ist wichtig zu beachten, dass die Zuverlässigkeit von SERVER_NAME von der Konfiguration des Webservers abhängt. Wenn die UseCanonicalName-Direktive im VirtualHost-Abschnitt von Apache HTTP Server nicht aktiviert ist, gibt sie möglicherweise fälschlicherweise den Wert des HTTP-Host-Headers für SERVER_NAME zurück.
Durch die Einstellung von UseCanonicalName auf „on“ wird sichergestellt, dass Apache HTTP Server einen korrekten SERVER_NAME-Wert bereitstellt. Es wird empfohlen, die Serverkonfiguration zu überprüfen, um die Zuverlässigkeit dieser Variablen zu gewährleisten.
Das obige ist der detaillierte Inhalt vonHTTP_HOST vs. SERVER_NAME in PHP: Welche Variable sollte ich verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!