Bonjour ^^,
voici mon problème le tuto espace membre avec cakephp quelques petit souci qui se sont regler enfin presque a un point prés l activation du compte
je vous laisse mon code pour la fonction activate etant nouveau sur cakephp j ai suivi textuellement les convention de graifikart qui explique tres bien les tutoriel:
function activate($token){
$token = explode('-',$token);
$user = $this->User->find('first',array(
'conditions' => array('id' => $token[0],'MD5(User.password)' => $token[1],'active' => 0)
));
if(!empty($user)){
$this->User->id = $user'User']'id'];
$this->User->saveField('active',1);
$this->Session->setFlash("Votre compte a bien été activé","notif");
$this->Auth->login($user'User']);
}else{
$this->Session->setFlash("Ce lien d'activation n'est pas valide","notif",array('type'=>'error'));
}
$this->redirect('/');
}
voici ce qui est le probleme :
1°) inscription tres bien
2°) envoie de mail tres bien
3°) activation pas bien
le debug m indique id-est le password encrypte en MD5
quand je clike sur le lien il me renvoie l erreur suivante:
Ce lien d'activation n'est pas valide
voila j espere avoir ete assez explicite
merci de vos reponse ^^
Peut-être que ton problème est sur l'un de ces topics :
[15:42] <coloo> giizmo: http://www.grafikart.fr/forum/topic/2206
[15:44] <coloo> giizmo: http://www.grafikart.fr/forum/topic/647
probleme resolu j'ai changer le token ^^ grace a coloo puis grafikart ^^ http://www.grafikart.fr/forum/topic/647
merci genial la communauté ^^
Niveau sécurité ce n'est pas super. Tu devrais générer un vrai token qui change entre chaque action. Car la tu montres clairement comment tu encodes les mots de passes... infos plus que précieuse pour un hacker.
Sinon bah le problème se trouve ici au vu du message d'erreur que ça retourne:
$user = $this->User->find('first',array(
'conditions' => array('id' => $token[0],'MD5(User.password)' => $token[1],'active' => 0)
));
Et ceci me semble un peu bizarre : 'MD5(User.password)'. Ca ne serrait pas 'password' ?
pourtant je n ai fait que suivre le tuto de grafikart qui dans la video teste est cela fonctionne en plus j ai fait un test avec les sources sur mon serveur est ca fonctionne alors serieux je comprend plus rien.
merci pour la securite en meme tant il faut deja trouver le NDD et ou il est heberger ensuite c'est un NDD qui me sert pas souvent je l utilise pour mais test uniquement ^^ mais merci kan meme je v revoir tout ca
0 - Tu as la bonne version de cake ?
1 - Tu as bien l'enregistrement dans ta BDD ?
1.2 - Tu es sur que ton champs varchar est assez grand pour toutes la chaines de caractère ?
2 - Si oui : Tu es sur de l'encodage du password bien du MD5 ?
Vas plutôt chercher vers le deuxième point qu'a énoncé hotgeart. Fais des debug et tu verras vite si c'est un problème d'encodage ou non.
Bonne continuation
0- la version a ete mise a jour hier (merci coloo)
1- L'enregistrement ce fait bien
1.2 le champs password est en varchar 255
2- la est le problème il me semble que cakephp rajoute une cle de securite