Maison > développement back-end > tutoriel php > Comment puis-je vérifier de manière fiable les connexions HTTPS lorsque $_SERVER['HTTPS'] n'est pas fiable ?

Comment puis-je vérifier de manière fiable les connexions HTTPS lorsque $_SERVER['HTTPS'] n'est pas fiable ?

Barbara Streisand
Libérer: 2024-12-04 05:51:10
original
322 Les gens l'ont consulté

How Can I Reliably Verify HTTPS Connections When $_SERVER['HTTPS'] Is Unreliable?

Vérification de la connexion HTTPS au-delà de $_SERVER['HTTPS']

Dans les situations où $_SERVER['HTTPS'] reste indéfini, ce qui entrave la méthode conventionnelle de vérification du HTTPS connexions, une approche alternative est disponible.

La fonction suivante garantit une détection précise, que ce soit $_SERVER['HTTPS'] existe :

function isSecure() {
  return
    (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
    || $_SERVER['SERVER_PORT'] == 443;
}
Copier après la connexion

Ce code fonctionne de manière transparente avec IIS, comme indiqué dans la documentation PHP et les commentaires des utilisateurs.

  • $_SERVER['HTTPS' ] : Cette variable est définie lors de la connexion via HTTPS, mais dans IIS, elle peut présenter des valeurs inattendues telles que "off."
  • $_SERVER['SERVER_PORT'] : généralement, le port 443 est associé à des connexions sécurisées, ce qui en fait une option de secours fiable.
  • Apache 1.x et autres plates-formes à potentiel les problèmes de configuration peuvent omettre la variable $_SERVER['HTTPS'], tandis que la vérification du port 443 sert de sauvegarde check.

Notez que si un équilibreur de charge est intermédiaire entre le client et votre serveur, ce code examine principalement la connexion entre l'équilibreur de charge et votre serveur, et non la connexion de l'équilibreur de charge client.

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