probleme avec md5 et ma session [RESOLU] - PHP - Programmation
Marsh Posté le 29-09-2004 à 08:15:32
la ligne de comparaison est celle de ton code ou tu à recopié ???
paske il te manque "$" pour lui dire que $mdp est une variable
Code :
|
si c'est la meme ligne que dans ton script, le pb doit venir de là
Marsh Posté le 29-09-2004 à 12:35:16
Code :
|
Marsh Posté le 29-09-2004 à 15:22:06
Xav_ a écrit : la ligne de comparaison est celle de ton code ou tu à recopié ???
|
ba non
Code :
|
mdp est un attribut pas une variable
edit : pardon j'avais pas vu que j'avais oublie le $ dans == md5(mdp) j'edit
Marsh Posté le 29-09-2004 à 15:22:54
masenko a écrit :
|
marche po, je ne comprends pas là, je suis perdu
Marsh Posté le 29-09-2004 à 15:30:42
normal j'ai fais une petite faute regarde le poste j'ai edité ça devrait être bon
Marsh Posté le 29-09-2004 à 15:35:53
scarf3ss3 a écrit : ba non "$contact->mdp"; "mdp" est un attribut pas une variable |
Houla, met des guillemets autour de mdp, parce que ça prête à confusion !
Marsh Posté le 29-09-2004 à 15:37:18
kalex a écrit : Houla, met des guillemets autour de mdp, parce que ça prête à confusion ! |
oui pardon effectivement
Marsh Posté le 29-09-2004 à 15:37:30
masenko a écrit :
|
Je m'auto cite donc comme ça c'est bon voilà bonne chance pour la suite
Marsh Posté le 29-09-2004 à 15:55:46
masenko a écrit : Je m'auto cite donc comme ça c'est bon voilà bonne chance pour la suite |
merci masenko mais malheureusement tu m'as pas laissé le temps de te repondre.
j'avais corrigé ton petit oubli mais ça ne marchait pas quand même.
J'utilise la même structure sous forme d'appel de fonction mais c'est exactement la même.
Le probleme est bizarre puisque que je rappel que si je rentre un pass sans le haché en md5 et que je le compare avec :
Code :
|
ça marche !
alors que
Code :
|
ne marche pas dans le cas d'un pass haché en md5 !!!!
c'est imcomprehensible !
aidé moi, est ce que ça peut venir d'easyphp ? j'ai la dernière version 1.7
Marsh Posté le 29-09-2004 à 15:59:25
Tu as vérifié à l'oeil si les résultats sont les mêmes ?
Genre :
Code :
|
Marsh Posté le 29-09-2004 à 16:01:46
Je pense pas que ça viennt de easyphp mais si y a quelques chose que je te conseil c'est bien d'installer apache2 php5 ou 4 et mysql manuelement.
Sinon tu peux filer ton code un peu plus complet ?
Marsh Posté le 29-09-2004 à 16:06:50
kalex a écrit : Tu as vérifié à l'oeil si les résultats sont les mêmes ?
|
putain je t'aime !!!! j'avais pas pensé à faire ça....
et effectivement le probleme vient de là il manque les 2 derniers caracteres pour md5($mdp) :
2c020a36498c6e57e21cfdc06df190
2c020a36498c6e57e21cfdc06df19061
ce qui correspond au champs password. par contre je comprends pas puisque en taille limite j'ai mis 30 et dans ma base le pass est stoché dans un VARCHAR (30) alors pourquoi il la variable $mdp ne veut pas des 2 derniers caracteres ?
sinon un grand merci !
Marsh Posté le 29-09-2004 à 16:08:25
scarf3ss3 a écrit : putain je t'aime !!!! j'avais pas pensé à faire ça.... |
pardon je me suis planté c'est le champs de ma base qui n'accepte pas mes 2 derniers caracteres
Marsh Posté le 29-09-2004 à 16:14:59
Merci kalex !
bon ça marche ! et effectivement j'étais vraiment trop con !!!
il suffisait donc de mettre un VARCHAR (60) pour ma table où il y a le mdp car un VARCHAR (30) n'etais pas assez long. J'ai honte de moi, je m'autoflagelle.
Merci encore
edit : au fait vous pensez que (60) suffit ??? car les visiteurs peuvent saisir un pass jusqu'à 30 caractères
Marsh Posté le 29-09-2004 à 16:18:29
scarf3ss3 a écrit : Merci kalex ! |
32 suffit dans TOUS les cas. pour un mot de passe de 1 ou de 1000 caractères
Marsh Posté le 29-09-2004 à 16:21:10
suffit de savoir la définition d'un hachage
Marsh Posté le 29-09-2004 à 16:29:26
ReplyMarsh Posté le 29-09-2004 à 16:29:34
KangOl a écrit : et pourquoi un varchar pour un password ?? |
Sans doute parce qu'à la base il n'a pas pensé au hashing.
Marsh Posté le 29-09-2004 à 16:30:27
Moi aussi j'utilise un varchar(32) c'est très bien un varchar...
Marsh Posté le 29-09-2004 à 16:31:02
sircam a écrit : Sans doute parce qu'à la base il n'a pas pensé au hashing. |
c'est quoi le mieu pour du hashing ? blob ?
Marsh Posté le 29-09-2004 à 16:45:58
scarf3ss3 a écrit : c'est quoi le mieu pour du hashing ? blob ? |
Marsh Posté le 29-09-2004 à 16:49:37
masenko a écrit : Moi aussi j'utilise un varchar(32) c'est très bien un varchar... |
CHAR(32), pour un résultat qui fait toujours 32 caractères, c'est bien mieux.
Explications :
http://dev.mysql.com/doc/mysql/fr/CHAR.html
Marsh Posté le 29-09-2004 à 16:50:02
char
Marsh Posté le 29-09-2004 à 16:50:53
scarf3ss3 a écrit : c'est quoi le mieu pour du hashing ? blob ? |
tu sors ça au hasard ?
Marsh Posté le 29-09-2004 à 16:52:06
oui mais sa longueur ne changera JAMAIS
Marsh Posté le 29-09-2004 à 16:59:04
Dans la série 'je ne comprends pas vraiment ce que je fais mais je bidouille', le BLOB pour un champs de longueur fixe 32.
Marsh Posté le 29-09-2004 à 17:01:47
sircam a écrit : Dans la série 'je ne comprends pas vraiment ce que je fais mais je bidouille', le BLOB pour un champs de longueur fixe 32. |
si je sais que blob c'est pour stockés des bits donc des fichiers
Marsh Posté le 29-09-2004 à 17:10:07
scarf3ss3 a écrit : si je sais que blob c'est pour stockés des bits donc des fichiers |
stocker
Donc ne réponds pas n'importe quoi, petit comique.
Marsh Posté le 29-09-2004 à 17:13:53
Tiens c'est une idée ça, un mot de passe sous forme de fichier (une image par exemple). Cool, comme dans James Bond !
Marsh Posté le 29-09-2004 à 17:21:33
kalex a écrit : Tiens c'est une idée ça, un mot de passe sous forme de fichier (une image par exemple). Cool, comme dans James Bond ! |
Je sais pas si tu plaisantes mais c'est possible !
Marsh Posté le 29-09-2004 à 17:53:38
Reply
Marsh Posté le 29-09-2004 à 05:34:49
voilà là il y a un truc que je comprends pas
si je n'utilise pas md5, au moment de l'identification il trouve le mot de passe sans problème
si j'utilise md5 là non:
pour l'insertion là aucun probleme je retrouve dans ma table le pass en crypté
Pour la recherche pour une ouverture de session...
le nom de mon champs text est mdp. En gros $contact est un objet contenant les infos du contacts provenant de ma table apres une requete sur l'identifiant, et mdp qu'il appelle est son mot de passe crypté qu'il compare au mot de passe que le visiteur vient de saisir pour s'identifier.
et donc là quand je veux m'identifier j'ai toujours mot de passe incorrect.
Je sais pas si je suis cair ???
Message édité par Scarf3ss3 le 29-09-2004 à 17:31:09