Recuperer le mot de passe
Fermé
samiapirou
Messages postés
112
Date d'inscription
dimanche 16 juin 2013
Statut
Membre
Dernière intervention
11 novembre 2015
-
3 août 2013 à 13:52
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 3 août 2013 à 14:54
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 3 août 2013 à 14:54
A voir également:
- Recuperer le mot de passe
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Trousseau mot de passe iphone - Guide
- Identifiant et mot de passe - Guide
- Comment récupérer un compte yahoo sans mot de passe - Guide
3 réponses
matrix4422
Messages postés
6118
Date d'inscription
dimanche 16 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2018
1 358
3 août 2013 à 13:53
3 août 2013 à 13:53
Quel mot de passe ?
samiapirou
Messages postés
112
Date d'inscription
dimanche 16 juin 2013
Statut
Membre
Dernière intervention
11 novembre 2015
1
3 août 2013 à 14:14
3 août 2013 à 14:14
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
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 3/08/2013 à 14:57
Modifié par gravgun le 3/08/2013 à 14:57
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
3 août 2013 à 14:15
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