2009-09-16 7 views
1

J'ai eu mes processus de forme fonctionne parfaitement, mais après avoir renommé l'action de formulaire pourhttps sous forme de validation qui ne passent pas VARIABLES SESSION - PHP

<form action="https://www.example.com/validate.php" method="post"> 

pour travailler avec un certificat SSL, il a cessé de fonctionner. On dirait que les variables SESSION ne sont plus transmises correctement ...

Y a-t-il quelque chose que je devrais savoir sur les https et les formulaires? Si je garde le lien relatif à l'action du formulaire, cela fonctionne correctement, mais est-ce que ma forme sera sécurisée?

+0

Les chemins d'action doivent-ils être relatifs? – chris

+0

@relatif ou pas question: ils peuvent être relatifs, ils peuvent être absolus. Si vous envoyez des messages HTTP à HTTPS, vous devrez mettre une adresse absolue, en changeant le protocole. – mauris

+0

mais l'affichage de https à https, il peut être relatif? – chris

Répondre

2
  1. Debug si les cookies HTTP envoyer à site est également envoyé sur le site HTTPS ou non.
  2. Est-ce que votre serveur HTTPS est chargé en premier lieu? Peut-être que la configuration n'est pas correcte ou quelque chose.
  3. S'il s'agit d'un chemin relatif, il ne sera pas sécurisé car votre page n'est pas sécurisée.
  4. Vous pouvez essayer de charger la page avec ce formulaire sur le serveur HTTPS sécurisé et effectuer la publication. (c'est-à-dire sécurisé -> sécurisé)

Ensuite, vous souhaiterez peut-être passer votre ID de session de la page non sécurisée à la page sécurisée.

par exemple. à la page du formulaire:

<form action="https://www.example.com/validate.php" method="post"> 
<input type="hidden" value="<?php echo session_id(); ?>" name="sid" /> 

à la page postback:

session_id($_POST['sid']); 

vous devriez être en mesure de se reconnecter à la session. J'espère que cela aide.

+0

intelligent va essayer que – chris

+0

+ 1 Passer l'ID de session est un bon moyen d'aller. –

+0

oh bien je n'ai jamais essayé ça avant, pourrait ou ne pourrait pas travailler. mais tout le meilleur. fais-moi savoir ce qui se passe =) – mauris

Questions connexes