Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1831 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Bug Session en PHP [resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bug Session en PHP [resolu]

n°1583631
Mister_Pin​gouin76
Posté le 07-07-2007 à 21:36:24  profilanswer
 

Bonjour à tous :)
Je viens de "découvrir" un bug assez bizarre dans un script php, et je l'ai résolu sans trop comprendre pourquoi ^^
Peut être quelqu'un pourra-t-il m'expliquer ?
 
Voici le problème :
 
fichier config.php

Code :
  1. $pass_commande_admin = 'hohoho';


 
fichier index.php (avec include config.php bien entendu :) )

Code :
  1. ....
  2. if (!isset($_SESSION['pass_commande_admin']) && (!empty($_POST['pass_commande_admin']) || !empty($_POST['sha1_pass'])))
  3. {
  4.  if(!empty($_POST['sha1_pass'])) $pass = trim(htmlentities($_POST['sha1_pass'], ENT_QUOTES));
  5.  elseif(!empty($_POST['pass_commande_admin'])) $pass = sha1('86e2829f444976040f6f743866df12ccsssccvxccf9198c82d1c'.trim($_POST['pass_commande_admin']).'86e2829f44497ddd6040f6f743866d12f9198c82d1c');
  6.  if ($pass == sha1('86e2829f444976040f6f743866df12ccsssccvxccf9198c82d1c'.$pass_commande_admin.'86e2829f44497ddd6040f6f743866d12f9198c82d1c'))
  7.  {
  8.   $_SESSION['pass_commande_admin'] = $pass;
  9.   header('location:admin_index.php?mod=gestion_commande');
  10.  }
  11.  else header('location:admin_index.php?mod=verif_commande');
  12. }


 
Et quand j'affiche $_SESSION['pass_commande_admin'], il m'affiche le contenu de $pass_commande_admin....... soit le mot de passe en clair, au lieu d'être crypté en sha1...
C'est normal ça ??
Une fois le $pass_commande_admin changé en $pass_gestion_admin dans le fichier config (en gros juste le nom change, j'ai suspecté que le problème venait de la variable de session qui portait le même nom), plus aucun problème... La variable $_SESSION['pass_commande_admin'] affiche alors bien le mot de passe en crypté...
Une suggestion ? :)
 
Le principe du script :
Un utilisateur envoie son mot de passe par un formulaire. Le mot de passe est directement codé en sha1 par l'intermédiaire d'un javascript placé en onSubmit.
On a donc a la sortie du formulaire les variables suivantes :
 
- $_POST['pass_commande_admin'] qui contient le mot de passe en clair.
- $_POST['sha1_pass'] qui contient le mot de passe crypté en sha1 par javascript.
- $pass qui crypte le mot de passe en sha1 si l'utilisateur a désactivé javascript, ou alors récupere juste le $_POST['sha1_pass'] dans le cas contraire.
- $pass_command_admin qui contient le mot de passe de référence (config.php) en clair.
 
Merci d'avance à celui qui aura le courage de dénouer pour moi ce mystère de "bug" :)


Message édité par Mister_Pingouin76 le 08-07-2007 à 13:10:23

---------------
Goldbarre [Gains:23€] | Eurobarre [Gains:18€]
mood
Publicité
Posté le 07-07-2007 à 21:36:24  profilanswer
 

n°1583644
bixibu
Ca ... c'est fait!
Posté le 07-07-2007 à 23:21:25  profilanswer
 

tu dois avoir la variable php register_global a ON.. ce qui fait que PHP s'emmelent les pinceaux car toutes tes variables qu'elles soit en post en session ou juste avec un $ s'appelent pareils.
 
 

n°1583706
Mister_Pin​gouin76
Posté le 08-07-2007 à 13:10:08  profilanswer
 

Yes exact :)
Je n'y avais pas pensé :)
En effet en local je l'ai à Off par défaut, et sur free c'est activé :)
Merci encore :)


---------------
Goldbarre [Gains:23€] | Eurobarre [Gains:18€]

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Bug Session en PHP [resolu]

 

Sujets relatifs
[AS3]gestion d'évènement [RESOLU] mais autre problème[SQL et PHP] Relier des données dans une table
[Résolu] Script de backup Windows/Samba[RESOLU] [AS2] Probleme de matrice/classe
[PHP] Problème avec mysql_num_rowsstreaming [PHP]
Problème PHP ![Résolu][Sharepoint] Sécuriser le lien "All site content"
[PHP] Affichage données Mysql[Résolu] Problème IE et Firefox + alignement vertical
Plus de sujets relatifs à : Bug Session en PHP [resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR