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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP-MySQL : insert encrypt password ... Décrypter ? [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP-MySQL : insert encrypt password ... Décrypter ? [Résolu]

n°664792
Mosca
Posté le 05-03-2004 à 20:36:12  profilanswer
 

Bonsoir !
J'insère des users + passwords dans une table mysql via un bête INSERT (dans un script) et j'encrypte le password ...
Comment fair en sorte que quand je tape le password, celui-ci soit "décrypté" et validé (ce qui ne me semble pas être le cas) ?
Pt'être qu'il y a plus simple en fait ...  :??:
 
Merci !


Message édité par Mosca le 07-03-2004 à 20:54:08
mood
Publicité
Posté le 05-03-2004 à 20:36:12  profilanswer
 

n°664802
cerel
Posté le 05-03-2004 à 20:58:30  profilanswer
 

Deja il faudrait savoir comment tu encrypte le password, sinon on peut pas t'aider.
 
De plus, ce n'est pas le password en clair que tu compare, mais plutot la version cryptee.
 
Je m'explique, tu as le password crypte dans ta bdd, ensuite l'user rentre sont password, tu crypte se password via la meme methode, ensuite tu compares les 2 chaines, le password crypte entre par l'utilisateur, et le password crypte dans la bdd.
 
Si les deux correspondent alors le password est ok, si ce n'est pas le cas, alors le password entre par l'utilisateur n'est pas bon.

n°664812
Mosca
Posté le 05-03-2004 à 21:07:05  profilanswer
 

Pour encrypter je fais "INSERT INTO ...ENCRYPT ($password" )...(password passé dans un formaulaire en POST)
Donc je dois faire en sorte que le password entré par le user soit crypté, puis comparé à celui qui est stocké, c'est ça ?
(au fond ça me semble évdent ...)
 
Le truc, c'est que je veux tester si le user/pass est valide ou non pour accéder aux pages (des query en fait) : pour ça je fais un select sur la table, si num_row = 0 => invalide ...
Ouais, je sais, ça doit pas être le top ... :/
Mais si vous connaissez de bonnes méthodes pour ces vérifs, je suis preneur ... :)
D'autant que je dois plus tard valider une requête si le code user correspond au code de ce qur quoi il fait la requête (user_code = 200 => requête sur objet 250 : refusé ! etc ...)
En plus je passe par une table user en MySQL pour des query sur Oracle ... Bref : tout conseil est grandement appécié ! :)

n°664880
letouriste
Comme son nom l'indique ^^
Posté le 05-03-2004 à 22:06:34  profilanswer
 

C'est simple, tu encryptes le mdp qu'un utilisateur rentre, et tu le compare à celui déjà entrée...
 
if ( encrypt($password) != $pass_db ){
      echo "Mauvais mdp!";
}
 
(Ok c nul)

n°664962
aspegic500​mg
Posté le 05-03-2004 à 23:56:15  profilanswer
 

letouriste a écrit :

C'est simple, tu encryptes le mdp qu'un utilisateur rentre, et tu le compare à celui déjà entrée...
 
if ( encrypt($password) != $pass_db ){
      echo "Mauvais mdp!";
}
 
(Ok c nul)
 


 
Il peut aussi haché le mdp en md5 au moment de l'inscription (donc le password est deja haché quand on le rentre dans la bdd avec un simple INSERT), puis quand le visiteur veut s'authentifier tu verifie si le login/pass correspondent:

Code :
  1. $requete = 'SELECT passwordHaché FROM Comptes WHERE login="'.$_POST['FormLogin'].'"';
  2. // execution requete
  3. if(md5($_POST['FormPassword']) == $row['passwordHaché'])
  4. {
  5.    $_SESSION['login'] == $_POST['FormLogin'];
  6. }


 
Et à chaque début de page protégé tu verifie si le level du login enregistré lui permet d'afficher la page (soit tu enregistre le level aupréalable dans une variable de session comme pour le login, soit tu le recupere à partir du login avec une requete à chaque debut de page), si il a le droit tu affiche, sinon tu le renvoie sur le formulaire d'authentification(si il n'est pas enregistré du tout) ou tu lui indique que son level n'est pas suffisant.
 
ps: si y'a des accents dans mon code, c'est uniquement pour la comprehension ;)


Message édité par aspegic500mg le 05-03-2004 à 23:57:14
n°665462
Mosca
Posté le 06-03-2004 à 18:29:36  profilanswer
 

Ok, c'est bon ! Ouf !
Merci !
Je suis passé par MD5 ...
J'avais mal positionné l'encryption au début.
Je suppose que d'avoir défini une taille de colonne de 8 pour le password posait aussi problème ...
 
Thx again!

n°666008
Mosca
Posté le 07-03-2004 à 13:54:37  profilanswer
 

Rha !
J'ai un autre problème maintenant.
Du fait que je passe par md5, le teste lors du register ne vérifie plus si le champ password est vide, et enregistre le user avec un password vide (et crypté) :/
Ca marchait bien avant, sans le md5 ...
Voilà le code (on se moque pas, c'est un peu barbare)
Comment fair pour qu'il teste le champ password en gardant le md5 ?
 

Code :
  1. <?php
  2. include("mysql_conn.inc" );
  3. $db=mysql_select_db('auth');
  4. $username = $HTTP_POST_VARS["username"];
  5. $password = md5($HTTP_POST_VARS["password"]);
  6. if ($username != "" AND $password != "" )
  7. {
  8.   mysql_query("INSERT INTO user (username,password) values ('$username','$password')" );
  9.  if (mysql_error())
  10.  {
  11.  echo "<html><body><center><a href=\"register.php\">User already exists! Return to register page</a></center></body></html>";
  12.  }
  13. else
  14. {
  15. echo "<html><body><center><a href=\"register.php\">\"Registration successful!\"</a></center></body></html>";
  16. }
  17. }
  18. elseif (empty($username))
  19. {
  20. echo "<html><body><center><a href=\"register.php\">\"You must enter a username!\"</a></center></body></html>";
  21. }
  22. elseif (empty($password))
  23. {
  24. echo "<html><body><center><a href=\"register.php\">\"You must enter a password!\"</a></center></body></html>";
  25. }
  26. else
  27. {
  28. echo "<html><body><center><a href=\"register.php\">\"Registration successful!\"</a></center></body></html>";
  29. }
  30. ?>


 
EDIT : résolu ...  :sarcastic:


Message édité par Mosca le 07-03-2004 à 20:54:36
n°667179
aspegic500​mg
Posté le 08-03-2004 à 13:21:20  profilanswer
 

et $HTTP_POST_VARS c'est obsolète, utilise $_POST ;)


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

  PHP-MySQL : insert encrypt password ... Décrypter ? [Résolu]

 

Sujets relatifs
[PHP] je n'arrive pas a executer une commande via PHP[Résolu] Pb image de fond avec image superposée en avant-plan
[PHP/SQL] Addition de valeur numérique d'un champ d'une tableListe Ordinateurs Réseau [resolu]
C++ + PHP + MYSQL « Upload MP3 et lecture dans playlist[SQL] Requete INSERT dans plusieurs tables liées
[PHP] Compteurs de téléchargementModes de gestion des connexions à MySQL
[resolu] Personnaliser l'aide d'access 
Plus de sujets relatifs à : PHP-MySQL : insert encrypt password ... Décrypter ? [Résolu]


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