logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
33 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 403 010

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Sécurité »» [Résolu] - Mot de passe et formulaire ??

[Résolu] - Mot de passe et formulaire ??#13085

4Contributeur(s)
zyegfryeddeveloppeurneo_machinesnipe
3 Modérateur(s)
developpeurjpbJireck
neo_machine neo_machineicon_post
Bonjour à tous,

Pour un module sur mon site, j'ai besoin de valider certaines info par formulaire avec le uname et le pass de la table users puis j'identifie le post avec l'adresse mail de l'user que je passe en variable.

Le pass en clair sans crypt cela fonctionne bien mais avec le md5 j'ai des soucis avec un formulaire.
Il compare un pass non crypté avec celui du pass de la table users et ca fonctionne pas, non pas du tout.

Je fais :

le formulaire...
!$rime = mysql_query("SELECT *,email as hepa from users WHERE uname='$uname' AND pass='$pass'") or die(mysql_error());!
!$result = mysql_num_rows($rime);!
... un peu de html ...
!$result_email = mysql_result($rime,0,hepa);!

Une ame charitable pour m'aider à valider ce pass ?
Merci d'avance.
zyegfryed zyegfryedicon_post
Normal que celà ne marche pas, tu ne peux comparer que ce qui est comparable : 2 pass cryptés, ou 2 pass non cryptés...
Ce qu'il faut que tu fasses : cryptes le pass que l'on te donne dans ton formulaire, et compares ensuite la signature générée avec celui qui est dans ta base. (C'est sur ce principe que fonctionne NPDS, et beaucoup d'autres systèmes, si je ne m'abuse...)
developpeur developpeuricon_post
je ferais plustot :

"SELECT email, password as hepa from users WHERE uname='$uname'"
si md5(passord du formulaire)=password de la base
alors ...
sinon die
neo_machine neo_machineicon_post
Désolé mais cela concerne les users et pas l'admin ; donc c'est pas md5 mais plutôt la fonction
!makePass()!. :-? Enfin il me semble ? :-?

Je l'ai reprise dans mon scrit.
Et bien je n'y arrive pas.

!function makePass()!

puis un formulaire.
- une zone 'user_name'
- une zone 'password'

Je fais :

!$password=makePass();!
!$password=crypt($makepass,$password);!
!$rime = mysql_query("SELECT *,email as hepa from users WHERE uname='$user_name' AND pass='$password'") or die(mysql_error());!
!$result = mysql_num_rows($rime);!
!if($result<1)!
NON
sinon OUI

Quelqu'un pour m'aider SVP. :paf :paf :paf

zyegfryed merci d'avoir confirmé ce que je savais et pour lequel je sollicite une assistance !!!
snipe snipeicon_post
non non neo il faut bien que tu passe par md5()

makepassword c pour generer un nouveau mot de passe allors tu est sure que ca sera toujours diferant a part un maxi enorme giga coup de bolle :-)
neo_machine neo_machineicon_post
Merci de ta réponse cela m'a mis sur la voie.
Tu as raison pour le makePass.
La fonction pour ouvrir les pass users c'est bien : !$mot_de_passe=crypt($pass_x,$pass_y);!

J'ai construi ma routine, testé et cela fonctionne, que le systèm de crypt soit ouvert (Unix/Linux) ou fermé (Windows) var déclaré dans config.php.

Petite info : le crypt ne fonctionne que sur les 8 premiers carractères saisies maxi.
Si votre mot de passe contiend plus de 8 carractères seul les 8 premiers seront pris pour le crypt.

Je reprend mon dev. Lol.

@+ sur le forum snipe.