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'] ?

Comment puis-je détecter de manière fiable l'utilisation de HTTPS sans compter sur $_SERVER['HTTPS'] ?

Barbara Streisand
Libérer: 2024-12-20 04:20:12
original
857 Les gens l'ont consulté

How Can I Reliably Detect HTTPS Usage Without Relying on $_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;
}
Copier après la connexion

Compatibilité et Explication

  • Le code s'adapte aux configurations IIS où $_SERVER['HTTPS'] est défini sur "off" pour les requêtes non HTTPS.
  • De plus, il vérifie le serveur port (généralement 443 pour les connexions HTTPS) comme sauvegarde si $_SERVER['HTTPS'] n'est pas défini ou invalide.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal