Archief - wachtwoord resetten.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

magatsu

Legacy Member
Hoi,

Ik heb net een website op poten gezet voor mijn medestudenten en ik heb een login gemaakt, maar nu zou ik graag mijn users de mogelijkheid geven om hun wachtwoord te veranderen of om hun e-mail te veranderen... Ik weet echt niet hoe hier aan te beginnen... kunnen jullie mij hiermee verder helpen?

Merci!

adrianhates

Legacy Member
1. je geeft de mogelijkheid om een emailadres op te geven met knop " Wachtwoord resetten"
2. Je checked of dat emailadres bestaat en geeft gepaste melding als het niet bestaat
3. Je stuurt een email met daarin uitleg en een link terug naar de website. Je md5'ed het emailadres met een salt/pepper ( die je vooraf bepaalt ) en zet het als parameter mee in de link , samen met het emailadres.
4. Als de gebruiker in de email op deze link klikt en hij komt terug op een pagina van je website ga je daar de hash checken door het te vergelijken met een nieuwe hash van het emailadres en je vooraf bepaalde salt/pepper.
5. Als dit klopt ->
Nieuw wachtwoord:
Bevestig nieuw wachtoord:
-Opslaan-

et voila!

6. Als die hash niet klopt -> gepaste foutmelding geven

Waarom die hash? Anders kan iedereen voor alle emailadressen een nieuw wachtwoord instellen. Die Salt/pepper moet uiteraard geheim blijven TEN ALLER TIJDE!

( rap rap getipt ze, kgan zu hausse! YU )

magatsu

Legacy Member
adrianhates zei:
1. je geeft de mogelijkheid om een emailadres op te geven met knop " Wachtwoord resetten"
2. Je checked of dat emailadres bestaat en geeft gepaste melding als het niet bestaat
3. Je stuurt een email met daarin uitleg en een link terug naar de website. Je md5'ed het emailadres met een salt/pepper ( die je vooraf bepaalt ) en zet het als parameter mee in de link , samen met het emailadres.
4. Als de gebruiker in de email op deze link klikt en hij komt terug op een pagina van je website ga je daar de hash checken door het te vergelijken met een nieuwe hash van het emailadres en je vooraf bepaalde salt/pepper.
5. Als dit klopt ->
Nieuw wachtwoord:
Bevestig nieuw wachtoord:
-Opslaan-

et voila!

6. Als die hash niet klopt -> gepaste foutmelding geven

Waarom die hash? Anders kan iedereen voor alle emailadressen een nieuw wachtwoord instellen. Die Salt/pepper moet uiteraard geheim blijven TEN ALLER TIJDE!

( rap rap getipt ze, kgan zu hausse! YU )

Bedankt voor je antwoord, maar voor mij is dit momenteel min of meer chinees... Ik heb via een tutorial een login gemaakt dus er zit wel mijn eigen db en sql query's in voor de database en ook de databasenamen... Maar voor de rest is het wel min of meer hetzelfde... Kan je eventueel je antwoord verduidelijken met een voorbeeld of een stuk code?

Alvast bedankt!

Zero Grav

Legacy Member
Allé, eens verder op adrianhates zijn uitleg ingaan dan.

1. Moet duidelijk zijn
2. Ge doet een SELECT in uw database waarbij ge WHERE email = emailadresVanDeGebruikerDoet en telt het aantal resultaten. Indien 1 is het goed, want dan kunt ge verdergaan naar de volgende stap
3. Salt en pepper zijn mooie namen voor woordjes toevoegen aan iets voor ge het hasht (codeert)
Stel mijn salt is 'banaan' en mijn pepper is '@848573' dan wordt het [email protected]@848573 en wordt dat gehashed (zoek op md5/sha1 in de php function reference) en in de url gestoken die naar de gebruiker wordt gestuurd.
4. De gebruiker klikt op die link, gij verifieert opnieuw met diezelfde salt en pepper het emailadres en indien die overeenkomen hebt ge 'win', indien niet moet ge hier stoppen
5. inputveldje voor het wachtwoord weergeven en dan UPDATE members SET password = ' ' WHERE email = ' '.

dJeez

Legacy Member
En om puntje 5 even wat beter te maken : voeg daar ook maar wat zout en peper aan toe en sla het wachtwoord als hash (md5 of sha1) op :p. NOOIT paswoorden in plain text in een db zetten!

Sick-Boy

Legacy Member
IP-adres opslaan als iemand wachtwoord reset aanvraagd en een link in de mail met: ik weet van niks.
Om fraude op te sporen. :)

Drone

Legacy Member
dJeez zei:
En om puntje 5 even wat beter te maken : voeg daar ook maar wat zout en peper aan toe en sla het wachtwoord als hash (md5 of sha1) op :p. NOOIT paswoorden in plain text in een db zetten!


Dit is zeker een must. Ik erger mij dood als ik mijn pass in plain text in een email zie staan. Zelfs bedrijven als Combell en Nucleus doen dit verkeerd.

Zero Grav

Legacy Member
Sick-Boy zei:
IP-adres opslaan als iemand wachtwoord reset aanvraagd en een link in de mail met: ik weet van niks.
Om fraude op te sporen. :)

Wellicht nogal overkill in deze situatie. :p

En [drone]-[1.05], bij Dommel doen ze het nog leuker. Als ge inlogt op hun cms om uw dataverbruik te controleren worden de gebruikersnaam en het wachtwoord plaintext in de url gezet. Maar zij beweren dat het veilig is omdat het over een https verbinding loopt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan