Donc genre de très similaire à « Detecting https requests in php »:HTTPS vs HTTP Détection sur le serveur renvoyant rien d'utile
Vous voulez avoir https://example.com/pog.php aller à http://example.com/pog.php ou même vice-versa.
Problèmes:
- Impossible de lire quoi que ce soit de $ _SERVER [ « HTTPS »] car il est pas là
- serveur envoie les requêtes sur le port 80, ne peut donc pas vérifier sur le 443 HTTPS Version
apache_request_headers()
etapache_response_headers()
sont renvoit la même chose- ne peut pas dire quoi que ce soit loadbalancer ou faire envoyer somethings supplémentaires
- données de rétroaction Server recraché par la page sur les deux appels d'URL est exactement la même sauvegarde pour l'ID de session. Bummer.
Existe-t-il des moyens sur la page pour détecter si elle est appelée via SSL ou non SSL?
Modifier: $_SERVER["HTTPS"]
n'est pas là, allumé ou pas, peu importe si vous regardez le site via SSL ou non-SSL. Pour une raison quelconque, l'hébergement a choisi de servir toutes les requêtes HTTPS cryptées, mais en bas du port 80. Et donc, le $_SERVER["HTTPS"]
n'est jamais allumé, pas là, juste pas de retour utile sur ce point serveur. Donc ce paramètre est toujours vide.
(Et oui, cela signifie qu'il se trouve en position de dire FF ou Chrome pour un certificat SSL partiellement invalide. Mais cette partie n'a pas d'importance.)
En outre, le plus qui peut être obtenu à partir de détecter l'URL est jusqu'au point des barres obliques. Le PHP ne peut pas voir si la requête a https
ou http
à l'avant.
Ne faites jamais confiance à l'utilisateur. La page doit rester sur la version HTTP, donc si jamais ils essayent d'aller à HTTPS, ils sont renvoyés à la version HTTP. J'ai aimé votre réponse si. – random