PHP: HTTP oder HTTPS?

In PHP können Sie die Variablen $_SERVER['HTTPS'] verwenden, um zu überprüfen, ob die aktuelle Seite über HTTPS ausgeliefert wird. Wenn die Variable gesetzt ist und den Wert "on" hat, wird die Seite über HTTPS ausgeliefert.

Sie können auch die Variable $_SERVER['SERVER_PORT'] verwenden, um die verwendete Portnummer für die aktuelle Verbindung zu überprüfen. Port 443 ist der Standardport für HTTPS-Verbindungen, daher ist es wahrscheinlich, dass die Seite über HTTPS ausgeliefert wird, wenn der Wert dieser Variable 443 ist.

PHP bietet auch eine Funktion namens https_request(), die verwendet werden kann, um zu überprüfen, ob die aktuelle Seite über HTTPS ausgeliefert wird.

Mit PHP können Sie den Benutzer auch auf die HTTPS-Version Ihrer Website umleiten, indem Sie einen einfachen Code-Schnipsel am Anfang Ihres Skripts oder in der htaccess-Datei verwenden:

<?php

if ($_SERVER['HTTPS'] != "on") {
    $url = "https://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    header("Location: $url");
    exit();
}

Dies leitet alle eingehenden Anfragen auf die HTTPS-Version der Website weiter.

Es ist wichtig zu beachten, dass, wenn Sie einen Lastenausgleich oder einen Reverse-Proxy verwenden, dieser möglicherweise die SSL-Terminierung durchführt. In diesem Fall müssen Sie die von Lastenausgleich oder Proxy gesetzten Header überprüfen, um zu erkennen, ob die Anforderung über HTTPS oder nicht gekommen ist.