Recuperer le mot de passe
samiapirou
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour
je voulais faire un programme qui permet de récupérer le mot de passe en cas d'oublie
pouvez vous m'aider
merci
je voulais faire un programme qui permet de récupérer le mot de passe en cas d'oublie
pouvez vous m'aider
merci
A voir également:
- Recuperer le mot de passe
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
3 réponses
l'acces a l'espace client se fait par un formulaire d'authentification
si bien le login et le mot de passe
c'est a dire si le client oubli son mot de passe comment peut on lui envi=oyé son mot de passe
si bien le login et le mot de passe
c'est a dire si le client oubli son mot de passe comment peut on lui envi=oyé son mot de passe
C'est un poil compliqué.
Supposons que la table 'comptes' comporte les champs: id (int, auto increment), login (string), mdp (string, MD5/SHA1 du mot de passe), email (string), cle_recup (string), cle_recup_expire (datetime).
Créé une page où l'utilisateur doit rentrer son nom de compte et adresse email (et un captcha pour éviter le spam) qui fera un coup de SQL qui:
1. Trouvera l'entrée du compte
2. Créera la clé "cle_recup" (indice: sha1(rand()) ) et la date d'expiration de la clé (indice: strtotime("+15 min") ), et insérera ces données dans la base de données
3. Enverra un mail au propriétaire du compte vers une page http://tonsite.fr[nom du compte]&k=[la clé]
Et cette page "recup.php", demandera le nouveau mot de passe, et vérifiera la clé comme ceci:
1. On trouve l'entrée du compte (donné par $_GET["c"])
2. On compare le champ "cle_recup_expire" et la date+heure actuelle; s'il est trop tard, message d'erreur, sinon étape 3
3. On compare le champ "cle_recup" et la clé donnée dans $_GET["k"], si pas bon, erreur
4. On change le champ "mdp" du compte si tout est bon.
Une fois que c'est terminé, comme il faut ou avec une erreur, on efface la clé de la base, pour éviter les problèmes. Quand à la date d'expiration, on peut la "remettre à zéro" (date de l'époque UNIX).
C'est pas le plus simple à faire mais c'est robuste, et bien sécurisé (évidemment y'a mieux, on pourrait ajouter une vérification d'adresse IP, réduire les 15 minutes d'expiration à 5, etc...).
from human import idiocy
del idiocy
Supposons que la table 'comptes' comporte les champs: id (int, auto increment), login (string), mdp (string, MD5/SHA1 du mot de passe), email (string), cle_recup (string), cle_recup_expire (datetime).
Créé une page où l'utilisateur doit rentrer son nom de compte et adresse email (et un captcha pour éviter le spam) qui fera un coup de SQL qui:
1. Trouvera l'entrée du compte
2. Créera la clé "cle_recup" (indice: sha1(rand()) ) et la date d'expiration de la clé (indice: strtotime("+15 min") ), et insérera ces données dans la base de données
3. Enverra un mail au propriétaire du compte vers une page http://tonsite.fr[nom du compte]&k=[la clé]
Et cette page "recup.php", demandera le nouveau mot de passe, et vérifiera la clé comme ceci:
1. On trouve l'entrée du compte (donné par $_GET["c"])
2. On compare le champ "cle_recup_expire" et la date+heure actuelle; s'il est trop tard, message d'erreur, sinon étape 3
3. On compare le champ "cle_recup" et la clé donnée dans $_GET["k"], si pas bon, erreur
4. On change le champ "mdp" du compte si tout est bon.
Une fois que c'est terminé, comme il faut ou avec une erreur, on efface la clé de la base, pour éviter les problèmes. Quand à la date d'expiration, on peut la "remettre à zéro" (date de l'époque UNIX).
C'est pas le plus simple à faire mais c'est robuste, et bien sécurisé (évidemment y'a mieux, on pourrait ajouter une vérification d'adresse IP, réduire les 15 minutes d'expiration à 5, etc...).
from human import idiocy
del idiocy
si bien le login et le mot de passe
c'est a dire si le client oubli son mot de passe comment peut on lui envoyé son mot de passe