IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Variable de session qui change aléatoirement [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut Variable de session qui change aléatoirement
    Bonjour,

    J'ai un Captcha sur un formulaire, la valeur est enregistrée en session, lorsque le formulaire est soumis, on compare le string entré avec la valeur en session. Si ça correspond tout est ok.

    Ce systeme de captcha (le mien) est celui que j'utilise sur Tous mes formulaires de contact. Tous mes sites (ou presque) sont sur le même serveur (le mien). Register_globals est à OFF.

    Le captcha vous pouvez le tester ici :
    http://www.n1bus.fr/contacter-n1bus-...s-informations
    il fonctionne normalement. Jamais eu de probleme.

    Il se trouve qu'il ne fonctionne pas sur un site.
    Vous pouvez le tester ici :
    http://www.parapharmaonline.fr/

    Cliquez sur un produit et remplissez le formulaire "Envoyer à un ami"
    Inmanquablement, la réponse du serveur sera "Le code de sécurité que vous avez entré n'est pas valide."

    En bas de la page, sous l'offre spéciale, j'ai laissé en texte brut la valeur que vous deviez entrer / la valeur avec laquelle elle a été comparée.
    Sur le serveur distant (en prod) , ces deux valeurs ne correspondent jamais.

    Sur mon serveur en local, ces valeurs correspondent DE TEMPS EN TEMPS !

    Je ne sais pas pourquoi.
    Cela n'a rien a voir avec le produit sélectionné ou l'adresse email entrée ou je ne sais quoi ...

    • J'ai changé mes noms de variables en pensant avoir employé un "nouveau" mot réservé.
    • J'ai revérifié tous mes includes en pensant inclure un fichier local alors que j'utilisais le site distant
    • J'ai verifié les session_start(), les noms de session, etc
    • J'ai fait un var_dump des variables de session pour vérifier ce qui s'enregistrait

    Pour l'instant j'ai retiré le captcha du formulaire de contact, j'ai laissé celui-ci pour essayer de trouver pourquoi il ne fonctionne plus.
    Je précise que le captcha a fonctionné et qu'il ne fonctionne plus depuis quelques temps.

    Le vrai problème, c'est qu'il fonctionne aléatoirement en local et plus du tout sur le serveur distant.

    Si quelqu'un a une idée, une piste, un truc ... ce serait bien sympa.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Je viens de m'apercevoir que ce phénomène ne se produit pas sur Firefox (dernière version). Le captcha fonctionne normalement.

    Il semblerait donc que cela vienne de IE8.
    Quelqu'un aurait il une piste ?

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Je mets la soluce au cas où ça se produirait pour quelqu'un d'autre.

    Alors, en faisant une multitudes de tests, je me suis aperçu que mon script de captcha modifiait tout seul et aléatoirement le code à déchiffrer qui est stocké en session (utilisation mcrypt).

    Donc lorsqu'on affiche le formulaire, on a un code qui est stocké en session (chiffré) , mais lorsqu'on execute le formulaire, on ne peut pas comparer le code avec celui en session, car il a changé !


    Je me suis aperçu que mon script était appelé une fois de trop.
    je m'explique : si le captcha comporte 5 caractères, le script était appelé une 6 eme fois.

    Je me suis aperçu que la page ne pouvait pas afficher le favicon.ico a cause d'une mauvaise url du fichier. Ceci produit une requete supplémentaire vers mon script et ça change la valeur stockée en session car il manque des paramètres lors de l'appel du script.

    J'ai corrigé l'url du favicon.ico et je n'ai plus d'appel supplémentaire au script. Donc la valeur en session ne change pas.


    Bon, je sais, c'est un peu tordu, mais ..... cerise sur le togâ : ceci ne se produit qu'avec Internet explorer (8.xx / pas testé avec 9.xx)

    Merci Micromou.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    Pourquoi appeler plusieurs fois un script quand il y a plusieurs caractères ?
    C'est pas mieux de tout analyser d'une traite ?

    Cela éveille ma curiosité.


    J'ai également l'impression que tu génères des caractères aléatoires même quand il n'y a pas de capcha (car le nombre de fois que tu charges qqchose = modifie le "token").
    Un capcha c'est pas comme un token qu'on crée sur demande d'une page particulière ?

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Citation Envoyé par Doonge Voir le message
    Pourquoi appeler plusieurs fois un script quand il y a plusieurs caractères ?
    C'est pas mieux de tout analyser d'une traite ?

    Cela éveille ma curiosité.


    J'ai également l'impression que tu génères des caractères aléatoires même quand il n'y a pas de capcha (car le nombre de fois que tu charges qqchose = modifie le "token").
    Un capcha c'est pas comme un token qu'on crée sur demande d'une page particulière ?
    Car je crée une image (GD) pour afficher 1 caractère.
    Si le code contient 6 caractères, le script est appellé autant de fois.
    En fait le nombre de caractère est aléatoire.

    Le script que j'utilise actuellement est une version améliorée de ceux que j'avais fait il y a un moment :

    http://softwares.n1bus.eu/n1bus-soft...bus-crypt-form

    http://softwares.n1bus.eu/n1bus-soft...1bus-sure-form

    Tu peux les télécharger.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    Je pense que tu pourrais sans trop de soucis améliorer ta fonction qui crée une image de façon à ce qu'elle accepte un string et pas un caractère unique.


    J'ai aussi un truc perso pr les formulaires, je vais jeter un oeil (le capcha m'intéresse pas des masses même si je vois que c'est remarquablement bien "brouillé" et lisible à la fois => good job).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une variable de session qui change
    Par zsoh dans le forum Langage
    Réponses: 5
    Dernier message: 02/09/2007, 20h03
  2. Variable de session qui change toute seule
    Par mijean dans le forum Langage
    Réponses: 5
    Dernier message: 21/05/2007, 14h42
  3. variables de session qui ne passent pas
    Par cels dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/11/2006, 10h46
  4. Variables de session qui se vident !
    Par navona dans le forum Langage
    Réponses: 13
    Dernier message: 24/05/2006, 22h39
  5. Réponses: 4
    Dernier message: 13/03/2006, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo