Maison >développement back-end >tutoriel php >Comment puis-je détecter de manière fiable l'utilisation de HTTPS sans compter sur $_SERVER['HTTPS'] ?
Méthode alternative pour déterminer l'utilisation HTTPS sans $_SERVER['HTTPS']
Les approches traditionnelles pour vérifier les connexions HTTPS impliquent de vérifier la valeur de $ _SERVEUR['HTTPS']. Cependant, sur certaines configurations de serveur, cette variable peut ne pas être définie, entraînant des erreurs.
Solution
Pour résoudre ce problème, la fonction suivante fournit une alternative fiable pour détermination des connexions HTTPS :
function isSecure() { return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443; }
Compatibilité et Explication
Remarque pour les équilibreurs de charge
Ce code teste uniquement les connexions entre le serveur et l'équilibreur de charge si un équilibreur de charge est présent. Pour tester les connexions entre le client et l'équilibreur de charge, l'en-tête HTTP_X_FORWARDED_PROTO doit être utilisé, bien que cette approche soit 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!