![]() |
Wachtwoord vergeten
Ik wil voor mijn gebruikers iets maken voor als ze hun wachtwoord zijn vergeten. Ik gebruik md5-encryptie en voor zover ik weet is dat niet te decoderen (tenminste, dat is het idee), dus ik kan niet gewoon het wachtwoord toesturen.
Wat ik dus zal moeten doen, is een nieuw wachtwoord genereren en dat naar de persoon in kwestie mailen. Dat heb ik nu, maar ik ben een beetje bang dat mensen elkaar dan gaan lopen naaien. Je kunt dan namelijk gewoon iemand anders emailadres invullen en dan wordt zijn/haar wachtwoord gewijzigd en dat is natuurlijk irritant als je dat niet wilt. Het komt er dus een beetje op neer dat ik graag zeker wil weten dat het wel de gebruiker zelf is die zijn wachtwoord verandert, maar dat kan hij/zij een beetje lastig bewijzen zonder wachtwoord. Ik heb wel gedacht aan bevestigingsmailtjes met een link erin als je je wachtwoord wilt veranderen, maar hoe weet ik dan zeker dat die link niet door één of andere grapjas gewoon is ingetypt? Heeft iemand slimme ideeën over hoe ik dit aan kan pakken? (ik wil trouwens geen geheime vraag gebruiken, want daar kunnen mensen het antwoord ook op vergeten en misschien kunnen andere mensen die vraag ook wel beantwoorden) |
Laat een mail versturen met daarin een unieke link, die maar 1 keer gebruikt wordt. Zo kan je wel die link naar iemand anders laten versturen, maar je kan dan niet een url intypen zodat zijn/haar wachtwoord ook ge-reset wordt.
|
wachtwoord moet je pas wijzigen als er in je mail op een link is geklikt
super eend was me voor :( :p |
Ja, dat had ik ook bedacht, maar hoe 'herken' ik dan die unieke link als hij echt uniek is?
|
een random getal maken in je link, en die tijdelijk opslaan in je db met de bijbehordende email.
|
hier zat ik laatst ook aan te denken, mijn oplossing:
zet in een DB een unieke string (MD5 hash in een MySQL base, kun je zien of hij unique is), stuur een meeltje naar het opgeven mail-adres met een link+unique hash de user's passw word veranderd zodra diegene op de link heeft gedrukt, naar een random passwoord, deze wordt vervolgens weer naar de gebruiker gemeelt volgens mij is dit de beste manier dit aan te pakken EDIT: ik zie dat dit over 't algemeen al behandeld is in dit topic... *g* |
Ik denk dat de oplossing van dafelix idd wel veilig genoeg is. Mocht het dan toch een keer voorkomen dat er ongewenst een wachtwoord wordt veranderd door iemand die dat niet hoort te doen (een kans van één op miljoen IMO) dan moet de gebruiker maar gewoon opnieuw een nieuw wachtwoord aanvragen.
|
Ik vroeg me af of het ook zonder extra db-ruimte kon, maar dat wordt dus blijkbaar moeilijk, dus ik denk dat ik het toch maar zo ga doen zoals dafelix zei. Bedankt allemaal!
Ik heb trouwens zelf ook nog iets bedacht, maar ik ben er niet heel erg enthousiast over: Degene die dat emailadres invoert, krijgt een ip-ban waardoor hij alleen maar op een speciale inlogpagina kan komen waar je alleen met dat nieuwe wachtwoord in kunt loggen en dit duurt dan totdat die persoon weer is ingelogd. Als er nu geen misbruik wordt gemaakt, dan is het geen probleem, want dan wil die persoon toch graag zijn wachtwoord veranderen en aangezien hij meteen mail krijgt, kan hij ook gelijk weer verder surfen op mijn site. Als iemand nou iemand anders probeert te naaien, dan heeft hij zelf een ban totdat die andere persoon inlogt, dus dan lijkt het me toch een stuk minder aantrekkelijk. Wat vinden jullie? |
zit wat in, maar wat als iemand op een proxy een ban zet? en diezelfde gebruiker ook via die proxy werkt? dan kan het zijn dat er nietmeer ingelogd kan worden.
(btw, de andere behandelde methode kan ook zonder tussenkomst van een DB gebruikt worden, bijvoorbeeld via bestanden (hash == bestandsnaam, zodat die unique is)) |
Wat is een proxy?
|
Citaat:
Citaat:
|
| Alle tijden zijn GMT +1. Het is nu 15:32. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.