Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich den HTTPS-Verbindungsstatus in PHP zuverlässig ermitteln?
Bestimmen des HTTPS-Verbindungsstatus über $_SERVER['HTTPS'] hinaus
In vielen Online-Tutorials wird empfohlen, $_SERVER['HTTPS'] zu überprüfen, um dies festzustellen ob eine Serververbindung über HTTPS gesichert ist. Allerdings ist $_SERVER['HTTPS'] auf bestimmten Servern möglicherweise nicht definiert, was zu Fehlern führt.
Alternative Variable für die HTTPS-Erkennung
Um dieses Problem zu beheben, sollten Sie Folgendes in Betracht ziehen Verwenden der Funktion isSecure(), die eine zuverlässige Anzeige des HTTPS-Verbindungsstatus liefert, selbst wenn $_SERVER['HTTPS'] vorhanden ist undefiniert:
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Kompatibilität und Überlegungen
Load Balancer und HTTP_X_FORWARDED_PROTO
Beachten Sie, dass diese Funktion die Verbindung zwischen dem Client und einer potenziellen Last nicht testet Balancer. Um dies zu überprüfen, kann der HTTP_X_FORWARDED_PROTO-Header verwendet werden, seine Implementierung ist jedoch komplexer.
Das obige ist der detaillierte Inhalt vonWie kann ich den HTTPS-Verbindungsstatus in PHP zuverlässig ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!