Ik was begonnen aan het 'wachtwoord vergeten' gedeelte van een site.
Maar nou zit ik even te denken wat handig en veilig is.

IDEE 1
- vul je emailadres in, controle of deze bestaat
- zo ja, een nieuw wachtwoord wordt opgeslagen in 'wachtwoordnw' en verstuurd per mail naar de gebruiker.
- nu kan de gebruiker inloggen met het nieuwe wachtwoord of de mail negeren en gewoon inloggen met zijn huidige wachtwoord.
- als je inlogt wordt er gecontroleerd of veld 'wachtwoordnw' is ingevuld, zo ja, wordt het ingevulde wachtwoord met beide velden gecontroleerd (om te voorkomen dat je geen wachtwoord hoeft in te vullen omdat het veld leeg is)
- als je bent ingelogd met het nieuwe wachtwoord, wordt je gestuurd naar een pagina om je wachtwoord te wijzigen, het veld wachtwoordnw wordt weer leeg gemaakt.

IDEE 2
- Vul je emailadres in, als deze bestaat wordt er een verificatiecode opgeslagen in de database
- er wordt een mail gestuurd met een linkje met de verificatiecode erin, als je deze opent wordt je ingelogd en je kunt een nieuw wachtwoord invullen
- als je niks doet kun je gewoon met je eigen wachtwoord inloggen.
- bij inloggen wordt het verificatiecode veld weer leeg gemaakt.

Beide ideeën lijken mij niet erg veilig en handig. Al zal ik eerder voor IDEE 2 gaan.
Sowieso wil ik dat een gebruiker niet verplicht is een nieuw wachtwoord in te moeten vullen omdat één of andere grapjas zijn wachtwoord heeft opgevraagd.

Wat vinden jullie van de ideeën en hoe zou jullie het oplossen?

Bvd!

p.s.: ik vraag niet om code of linkjes e.d., alleen ideeën.
Karl Karl op 15/04/2011 16:58:11

[quote="Tur min op 15/04/2011 14:46:12"]
(...)
@Karl: Waarom zou je het in een aparte tabel willen? Het is immers nooit meer dan 1 record. Zou je een goede reden kunnen noemen behalve dat 't netter is?
(...)


Het is netter en handiger. Je hoeft geen cronjobs meer te draaien, je kunt er statistiek op toepassen enzovoort.
Sowieso geeft de netheid al de doorslag.
[/quote]

Hm, naar mijn idee is het niet praktisch.
Sowieso is het maar 1 record dus kun je ook bij de gebruiker als veld toevoegen en die updaten.
Als je het in een aparte tabel wil doen, moet je het emailadres gebruiken om toch weer te linken met de gebruikers tabel.
Tot zover zie ik nog geen voordelen en voeg zolang dan ook gewoon een veld toe aan gebruikers waarin een verificatiecode komt. Mocht je nog iets hebben waarmee je me overtuigt hoor ik 't graag.
Hoezo maar 1 record?
Je slaat het per keer per aanvraag op.
Ip, wie, wat de code is, datum tijd.
Wat Karl zegt en een cron heb je voor dit echt niet nodig.

Gewoon de wachtwoord vergeten datum/tijd met de huidige datum/tijd vergelijken en zodoende aanvraag oplossen of niet. Dit gaat eigenlijk alleen maar lekker als je een aparte tabel hebt. Ooit van database-optimalisatie gehoord?
Karl Karl op 15/04/2011 17:07:23

Hoezo maar 1 record?
Je slaat het per keer per aanvraag op.
Ip, wie, wat de code is, datum tijd.


Ik bedoel je hebt 1 record per gebruiker. Dus ik vat nog niet helemaal wat er het voordeel van zou zijn.
Als de gebruiker nu 2 maal zijn wachtwoord zou opvragen dan krijg je 2 records en zou je dus met 2 activeringscodes kunnen inloggen.

Bram Boos op 15/04/2011 18:50:43

Wat Karl zegt en een cron heb je voor dit echt niet nodig.

Gewoon de wachtwoord vergeten datum/tijd met de huidige datum/tijd vergelijken en zodoende aanvraag oplossen of niet. Dit gaat eigenlijk alleen maar lekker als je een aparte tabel hebt. Ooit van database-optimalisatie gehoord?


Zeker ken ik database-optimalisatie, maar waarom dat hierop moet worden toegepast is mij onduidelijk. Zoals ik al zei heb je per gebruiker maar 1 record nodig.

Reageren