Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die HTTPS-Nutzung zuverlässig erkennen, ohne auf $_SERVER['HTTPS'] angewiesen zu sein?
Alternative Methode zur Bestimmung der HTTPS-Nutzung ohne $_SERVER['HTTPS']
Traditionelle Ansätze zur Überprüfung von HTTPS-Verbindungen umfassen die Überprüfung des Werts von $ _SERVER['HTTPS']. Bei bestimmten Serverkonfigurationen ist diese Variable jedoch möglicherweise nicht definiert, was zu Fehlern führt.
Lösung
Um dieses Problem zu beheben, bietet die folgende Funktion eine zuverlässige Alternative für Bestimmen von HTTPS-Verbindungen:
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Kompatibilität und Erläuterung
Hinweis für Load Balancer
Dieser Code testet nur Verbindungen zwischen dem Server und dem Load Balancer, wenn ein Load Balancer vorhanden ist. Zum Testen von Verbindungen zwischen dem Client und dem Load Balancer sollte der Header HTTP_X_FORWARDED_PROTO verwendet werden, obwohl dieser Ansatz komplizierter ist.
Das obige ist der detaillierte Inhalt vonWie kann ich die HTTPS-Nutzung zuverlässig erkennen, ohne auf $_SERVER['HTTPS'] angewiesen zu sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!