1

Topic: amélioration création compte ...

pour unreal j'espere que tu as recu mon message privé dasn le cas contraire veux-tu bien m'en informer je ré-éditerais ma question mais cette fois-ci sur le forum

merci d'avance  !

Re: amélioration création compte ...

Comme cela pourrait intéresser d'autres personnes, je fais un copier/coller de son mail ainsi que ma réponse smile

Voici ce que je voudrais faire :
- un ecran de création de compte qu'un utilisteur lambda pourra faire
avec une vérification par email
- un ecran permettant d'entrer ton adresse email pour recevoir tes id /
mdp en cas d'oubli

Pour réaliser une vérification par mail, ce n'est pas extrêmement difficile, et une méthode serait la suivante :

Tu rajoutes quelques champs supplémentaires dans la table des utilisateurs (il va certainement falloir apporter des modifs dans le code pour pas avoir d'erreurs SQL), notamment un champ "compte activé" et un champs "clef d'activation" (et éventuellement un champs "date d'inscription", afin de pouvoir supprimer facilement les comptes non validés après un certains temps).

Quand l'utilisateur s'inscrit, tu génères un hash aléatoire (md5 par exemple) que tu stockes dans la base, en même temps que le reste. Tu positionnes aussi "compte activé" à "0". Tu lui envoies par mail un lien de la forme :

http://monsite.com/?act=validate&userid=<ID de l'utilisateur>&key=<le hash que tu viens de générer>

Quand il clique dessus, t'as plus qu'à vérifier que le hash correspond effectivement au compte, et tu positionnes "compte activé" à "1". Tu bloques l'accès à son compte tant que son compte n'est pas activé (suffit de vérifier quand il tente de se logger).

Une autre méthode (certainement plus simple à implémenter smile ) serait de ne pas laisser l'utilisateur choisir son propre mot de passe mais de lui envoyer un mot de passe aléatoire par mail. Il ne pourra donc pas se connecter s'il n'a pas reçu le mail.


Pour la récupération des identifiants par mail : ce n'est *absolument* pas possible de récupérer son mot de passe si on l'a perdu. Les sites qui proposent ça doivent stocker les mots de passe en clair dans les bases, et ce n'est franchement pas très sérieux.

Si un utilisateur a perdu son mot de passe, tu dois lui en regénérer un, que tu envoies par mail. Les "mots de passe" présents dans la bases sont hashés au format md5, et suffit donc de hasher le nouveau mot de passe, et puis de le stocker dans la base à la place de l'ancien.

Voilà !