Maison >développement back-end >tutoriel php >Comment vérifier de manière fiable la connexion HTTPS lorsque $_SERVER['HTTPS'] n'est pas défini ?
La vérification de $_SERVER['HTTPS'] reste une approche courante pour vérifier les connexions HTTPS. Cependant, des valeurs non définies dans cette variable sur certains serveurs peuvent entraîner des erreurs. Pour résoudre ce problème, une méthode alternative plus fiable est disponible.
Cet extrait de code garantit que l'état HTTPS peut être déterminé quelle que soit la disponibilité de $_SERVER['HTTPS'] :
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Le code utilise deux conditions pour déterminer HTTPS status :
Cette méthode prend en compte les problèmes potentiels avec les serveurs IIS et Apache 1.x, où $_SERVER['HTTPS'] peut ne pas être défini même avec des connexions sécurisées.
Ce code est compatible avec les serveurs IIS et Apache. De plus, il est important de noter qu'il vérifie la connexion entre l'équilibreur de charge et le serveur. Pour les connexions entre le client et l'équilibreur de charge, l'en-tête HTTP_X_FORWARDED_PROTO peut être utilisé, bien qu'il nécessite une implémentation 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!