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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[PHP] Cryptage

n°77341
speedyop
Posté le 01-12-2001 à 23:18:57  profilanswer
 

Reprise du message précédent :
fait d'abord la selection du password correspondant a l'user
 
$query="select password from matable where pseudo='".$pseudo."'";
if ($result=mysql_query($query))
{
if (mysql_num_rows($result)>0)
 {
 $user=mysql_fetch_array($result);  
//la tu fait la comparaison
 if ($user[$password]==md5(password))  
  {
  //la c ok  
  }      
 else
  {
  //la le password est mauvais
  // tu peut meme mettre un compteur pour compter le nombre de tentative infructueuse  et bloquer le compte au bout de trop
  }
 }
else
 {
 echo "aucun compte a ce nom";
 }
}
else
{
echo "erreur technique";
}

mood
Publicité
Posté le 01-12-2001 à 23:18:57  profilanswer
 

n°77345
gizmo
Posté le 01-12-2001 à 23:20:50  profilanswer
 

speedyop a écrit a écrit :

fait d'abord la selection du password correspondant a l'user
 
$query="select password from matable where pseudo='".$pseudo."'";
if ($result=mysql_query($query))
{
if (mysql_num_rows($result)>0)
 {
 $user=mysql_fetch_array($result);  
//la tu fait la comparaison
 if ($user[$password]==md5(password))  
  {
  //la c ok  
  }      
 else
  {
  //la le password est mauvais
  // tu peut meme mettre un compteur pour compter le nombre de tentative infructueuse  et bloquer le compte au bout de trop
  }
 }
else
 {
 echo "aucun compte a ce nom";
 }
}
else
{
echo "erreur technique";
}  




 
pas sur que ca te mettra pas des erreurs si le pseudo est inexistant.

n°77346
Kyle
Posté le 01-12-2001 à 23:22:31  profilanswer
 

gizmo a écrit a écrit :

On va faire plus simple:
 
original:
 

Code :
  1. if(isset($submit)){
  2. $cryptedPwd= md5($pass);
  3. $req = mysql_query("select * from $table_membre where surnom = '$surnom' and pass = '$cryptedPwd'" );
  4. $result = mysql_fetch_array($req);
  5. if($surnom != $result[surnom] || $cryptedPwd != $result[pass]) {
  6. $non = "Vous n'etes pas loggé !";
  7. } else {
  8. $email_session = $result[email];
  9. session_start();
  10. session_register("surnom" );
  11. session_register("email_session" );
  12. $oui = "Vous etes bien loggé !";
  13. }
  14. }


 
modifié:
original:
 

Code :
  1. $cryptedPwd= md5($pass);
  2. $req = mysql_query("select email from $table_membre where surnom = '$surnom' and pass = '$cryptedPwd'" );
  3. if(!mysql_num_rows($req))
  4. {
  5.   echo "Vous n'etes pas loggé !";
  6. }
  7. else
  8. {
  9.   session_start();
  10.   session_register("surnom" );
  11.   session_register("result[email]" );
  12.   echo "Vous etes bien loggé !";
  13. }

 




 
Désolé, marche pas :(
 
speedyop, je teste ton script !

n°77347
speedyop
Posté le 01-12-2001 à 23:23:41  profilanswer
 

?
bah si tu compte le nombre de reponse avec mysql_num_rows?

n°77348
gizmo
Posté le 01-12-2001 à 23:27:26  profilanswer
 

speedyop a écrit a écrit :

?
bah si tu compte le nombre de reponse avec mysql_num_rows?  




 
juste, j'avais loupé cette ligne.
 
Kyle>> ca doit marcher, excepté le cryptage, c'est ce que j'utilise pour mon forum et ca marche chez moi.

n°77349
Kyle
Posté le 01-12-2001 à 23:35:04  profilanswer
 

J'y comprends rien, marche po non plus :(
 
Sans le cryptage, mon espace membre fonctionne a merveille...
Mais des que j'y ajoute du md5, ca foire...

n°77351
speedyop
Posté le 01-12-2001 à 23:36:29  profilanswer
 

c koi ton script d'insertion du compte? t'es sur que tu crypte?

n°77354
Kyle
Posté le 01-12-2001 à 23:38:16  profilanswer
 

Dans phpmyadmin, le pass est bien crypté !
 
J'utilise : $pass = md5($pass);
 
puis je fais un "insert into", comme dab...

n°77357
speedyop
Posté le 01-12-2001 à 23:41:08  profilanswer
 

mmm tu peut faire un insert directement en sql tu sait essaye de creer u ncompte a la main
 
insert into user (pseudo,password) values ('test',md5('test';))

n°77360
Kyle
Posté le 01-12-2001 à 23:47:34  profilanswer
 

Je viens de tester et idem, ca ne fonctionne pas...
Trops bizzare.

mood
Publicité
Posté le 01-12-2001 à 23:47:34  profilanswer
 

n°77390
omega2
Posté le 02-12-2001 à 02:48:52  profilanswer
 

Personellement, pour mon chat, j'utilise password($motdepasse) pour envoyer les donées à la base de donéee et ca marche très bien. :)
Voilà le ligne exacte que j'utilise pour générer la requête sql :
 
return "SELECT userid FROM ".$service."user WHERE pseudo=\"".$pseudo."\" AND code=password(\"".$code."\" )";
 
 
Elle est dans une fonction qui retourne la requête effectué. Comme ça je pourais la réutiliser ailleur si j'ai besoin (plusiseurs extension du site sont prévus à plus ou moins long therme)

n°77391
speedyop
Posté le 02-12-2001 à 02:50:20  profilanswer
 

hein koi arreter de deconner le md5() s'arrete pas de functionner du jour au lendemain comprends rien... t'as tester sur ton site kyle?

n°77409
Kyle
Posté le 02-12-2001 à 12:15:58  profilanswer
 

Bien sur que j'ai tester sur mon site, je ne fais que ca !

n°77411
Kyle
Posté le 02-12-2001 à 12:22:48  profilanswer
 

En tout cas, md5() fonctionne bien !
Le probleme se situe lorsque il faut comparer le mot de passe rentrer (lors de l'identification) et celui présent dans la base de donnée.

n°77417
Kyle
Posté le 02-12-2001 à 12:41:39  profilanswer
 

Youppiiii ! :)
 
J'ai résolu le probleme !
 
Cela venait de ma table membre, j'avais mis un varchar(30), et c'est trops court pour un pass crypté !
Il manquais en fais 2 chiffres a la fin !
 
Donc, j'ai mis un varchar(50) et ca fonctionne nikel ! :)
 
Soulagé ! :D
 
Merci a tous !

n°77444
speedyop
Posté le 02-12-2001 à 14:05:54  profilanswer
 

moi j'utilise que des int et des text au debut puis apres je reduit (je sais que c'est pas bot de retoucher apres la conception mais klk'1 peut me dire pkoa?)

n°77635
gizmo
Posté le 03-12-2001 à 13:39:32  profilanswer
 

kyle a écrit a écrit :

Youppiiii ! :)
 
J'ai résolu le probleme !
 
Cela venait de ma table membre, j'avais mis un varchar(30), et c'est trops court pour un pass crypté !
Il manquais en fais 2 chiffres a la fin !
 
Donc, j'ai mis un varchar(50) et ca fonctionne nikel ! :)
 
Soulagé ! :D
 
Merci a tous !  




 
tu sors :D

n°77692
sisicaivra​i
Life is Beautifullll
Posté le 03-12-2001 à 16:10:53  profilanswer
 

ethernal a écrit a écrit :

utilise md5($password)
tu le stockes dans ta bd en crypté et tu le cryptes qd tu le reçois lors d'un post avant de le comparer
(il y a pas de fct inverse)  
 




 :hello:  
ou crypt(),(c ske je fais) c du DES (pas ce qu'il y a de mieux, mais bon, c suffisant pour mon piti forum :D ...)
 
Encrypte une chaîne avec un DES
 
string crypt (string str, string salt )  
[PHP 3, PHP 4]  
 
crypt() va coder une chaîne en utilisant la méthode d'encryption du DES standard. Les arguments sont : la chaîne à encrypter, et un grain de sel qui servira de base pour l'encryption. Reportez vous au manuel Unix pour plus de détails.  
Si le grain de sel n'est pas fourni, il sera automatiquement généré par PHP.  
Certains systèmes d'exploitation acceptent plus d'un type d'encryption. En fait, le DES standard est parfois remplacé par une encryption MD5. Le type d'encryption est alors choisi en fonction du grain de sel. A l'installation, PHP détermine les possibilités de cryptage et décidera d'accepter d'autres grains de sel pour d'autres types d'encryption. Si le grain de sel n'est pas fourni, PHP générera alors un grain de 2 caractères, pour le DES standard, à moins que le système ne dispose de MD5 : dans ce cas, PHP générera un grain de sel pour MD, par défaut. PHP affecte la variable d'environnement CRYPT_SALT_LENGTH, à 2 si il utilise le DES standard, et à 12 si il utilise le MD5.  
Si vous utilisez le grain de sel fourni, retenez bien que ce grain de sel est généré une seule fois. Si vous appelez crypt() récursivement, cela aura un impact sur l'apparance et finalement la sécurité de votre cryptage.  
L'encryption standard fournit le grain de sel dans les deux premiers octets du résultat de la fonction crypt().  
Sur les systèmes qui supportent plusieurs méthodes d'encryption, les variables d'environnement suivantes sont mises à 0 ou à 1, en fonction de la disponibilité de la méthode :  
CRYPT_STD_DES - DES Standard avec 2-octets de SALT  
CRYPT_EXT_DES - DES étendu avec 9-octets SALT  
CRYPT_MD5 - MD5 avec 12-octets SALT commencant à $1$  
CRYPT_BLOWFISH - DES étendu avec 16-octets SALT commencant à $2$  
Il n'y a pas d'algorithme de décryptage, étant donné que crypt() est injective.  
 
 
pour celui qui dit que le password crypté, il suffit de tous les essayer en les cryptant et de comparer (méthode exaustive->pas décryptable)
de plus tant qu'a faire alors tu te fais pas chier et tu te tapes une recherche exhaustive directement sur le password, pas sur le crypté, là ou il le demande :sarcastic:

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[EASY PHP] Configurer l'envoi de mail ?[PHP] Phpmyadmin recherche d une version
[PHP] Combiner des if ?[Php ou JAVA] Je cherche un scrpit/source...
[PHP FREE ] Fatal error: Maximum execution time exceeded[PHP] Affichage de retours chariots dans un champ
problème sur le PHP et MYSQL HELP ME!!!!!!!PHP champs
[IMPORTANT] PHP - Fonction include ()[PHP] Datetime et formatage
Plus de sujets relatifs à : [PHP] Cryptage


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