Détermination de l'état de la connexion HTTPS au-delà de $_SERVER['HTTPS']
De nombreux didacticiels en ligne suggèrent de vérifier $_SERVER['HTTPS'] pour vérifier si une connexion au serveur est sécurisée via HTTPS. Cependant, $_SERVER['HTTPS'] peut ne pas être défini sur certains serveurs, ce qui entraîne des erreurs.
Variable alternative pour la détection HTTPS
Pour surmonter ce problème, envisagez en utilisant la fonction isSecure(), qui fournit une indication fiable de l'état de la connexion HTTPS même lorsque $_SERVER['HTTPS'] est undefined :
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Compatibilité et considérations
Load Balancer et HTTP_X_FORWARDED_PROTO
Notez que cette fonction ne teste pas la connexion entre le client et une charge potentielle balancier. Pour vérifier cela, l'en-tête HTTP_X_FORWARDED_PROTO peut être utilisé, mais sa mise en œuvre est plus complexe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!