Salut à tous,
Je decouvre en ce moment Cakephp 3.0 ( c'est la première fois que j'utilise ce framework ) mais ca releve surtout du php, sachez aussi que je debute dans php, je dirais que j'ai les bases...
Donc voila mon probleme, je devellope un projet possedant un espace membre, qui dit espace membre dit Password. On finit tous par perdre un jour ou l'autre un mot de passe, j'ai donc mis en place un systeme de recuperation de mot de passe comme suit.
-> Le membre requete une demande de recup en entrant sont mail
-> Si l'adresse est existante en BDD, ca genere un token (40 caractères aléatoire et hashé) et envoie un mail avec lien qui ramene a la page de changement de MDP
-> Sur la page de mdp je recup le token en GET et je verifie qu'il existe en BDD
-> Si le token existe, j'execute une requete mettant a jour le MDP avec les nouvelles infos renseignée par l'utilisateur et efface le token
Donc voila, cependant j'aimerais savoir quelques petites choses.
La démarche vous semble t elle correct ? ou possede t elle des problemes de securité ?
J'ai déjà vu sur certain formulaire de ce genre des "lien temporaire" c'est a dire qui devienne invalide apres, disons 2h.
J'aurais donc voulu savoir comment cela était faisable dans mon cas, par exemple supprimer le Token, si le lien n'a pas été utilisé au bout d'un certain temps
Merci d'avance pour le temps que vous me consacrerez
Crazyweedz
Utilise une table temporaire et le tour est joué. Tu crées une table avec au moins : token, email ou ID concernant (qui permettra de faire le lien avec ta table users), created_at. Tu crée un cron qui va sur un script dédié qui nettoie la table des enregistrements de + de 2h dans ton cas. Si l'utilisateur va sur la page alors tu mets à jour la table users avec le nouveau password et tu supprimes dans la table temporaire la ligne concernant l'utilisateur