Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/10/2012, à 14:06

Vuel

[PHP] Script changement de mot de passe du forum

Bonjours à tous !

Voilà je me posais une petite question, simplement par curiosité de développeur Web cool !

Lorsque l'on oublie son mot de passe sur ce forum, on remplit un formulaire et un e-mail nous est envoyé contenant un lien, comme la quasi-totalité des sites. Cependant, la quasi-totalité des sites proposent une fois que l'on a cliqué sur le lien, de taper deux mots de passe identiques pour le changer.

J'ai appris qu'il était possible pour un lamer, en manipulant l'URL, de tomber sur ce formulaire après avoir fait une demande de changement de mot de passe et pour cela je ne trouve pas ce système très sécurisé.

En effet sur certain site souple en matière de sécurité le formulaire peut être atteint de la manière la plus bête possible : http://www.mon_site.com/changement_mdp?id=123456

Toutefois, sur notre bon forum, un mot de passe est généré aléatoirement, un e-mail contenant ce mot de passe nous est envoyé et si l'on clique sur ce lien-là le mot de passe est changé ! En revanche, si on ne touche rien on peut toujours se connecter avec ses anciens logs !

La solution me semble plus sécurisé car le changement du mdp repose sur une key qui est généré et mise dans l'url sur laquelle on doit cliquer, ce qui fait que l'URL de changement de mot de passe :

http://www.mon_site.com/changement_mdp?id=123456&key=AbCdEf.

Je me demandais donc comment été conçu ce script smile

Je suis donc partie sur une théorie :

La base SQL du forum contient une table spécifique à la récupération du mot de passe :

id_user : l'id de l'utilisateur qui veut un nouveau mot de passe.

new_mdp : Le nouveau mot de passe généré.

key : La clef qui est mise dans l'url fournit dans notre e-mail pour changer le mot de passe, qui permet donc de vérifier que l'on a bien cliqué sur l'url présente dans notre mail.

On fait la demande, le formulaire vérifie si notre e-mail est associé à une ID, si oui, on remplit la table de récup avec l'id, un nouveau mdp et une clef. Un e-mail est alors envoyé avec dedans un URL permettant de changer le mot de passe.

Si l'utilisateur clique, on vérifie que son id est bien associé à la clef présente dans la table. Si oui on change le mot de passe, sinon on retourne une erreur.

Que pensez-vous de ma théorie ? tongue

Si vous en avez une autre je suis preneur de même que n'importe quelle information me faisant avancer !

Merci de m'avoir lu et bonne journée smile

Hors ligne

#2 Le 11/10/2012, à 16:56

Maisondouf

Re : [PHP] Script changement de mot de passe du forum

En fait, une des "protections" les plus utilisé et parce que simple, consiste à fixer une durée de vie au lien de changement de mot de passe donné dans le mail.
De plus, au moment où l'utilisateur demande l'envoi de ce mail, son IP est enregistrée et elle est comparée à celle de celui qui accède au site avec le lien donné dans le mail.

C'est pas la panacée, mais ça limite la casse...

Dernière modification par Maisondouf (Le 11/10/2012, à 16:57)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne