Ben nog bezig met mijn artikel scriptje. Alles werkt opzich naar behoren, alleen wil ik er nu nog een functie bij maken waarin je je wachtwoord kan veranderen. De wachtwoorden van gebruikers staan opgeslagen als SHA1, dus direct het wachtwoord mailen gaat niet. Ik heb al gezocht naar tutorials, maar kom alleen tutorials tegen waar de wachtwoorden niet gehasjd zijn. Heeft iemand voor mij een goeie tutorial hier voor of kan iemand mij de stappen uitleggen die ik moet doorlopen? Denk dat ik er dan aardig uit moet komen.
Niet het wachtwoord opsturen, maar een nieuw wachtwoord maken (random) en dat samen met een bevestigingscode opsturen naar de gebruiker. Die zal dan feitelijk hetzelfde proces doormoeten als bij het aanmelden.
Emailadres is bij mij gelijk de username, dus ik neem aan dat ik dan ook nog iets moet checken of bijv voornaam overeenkomt met het emailadres, en zoja een nieuw wachtwoord sturen, of zit ik er naast?
@ Erwin,
De manier van Aar lijkt me simpeler, maar zit hier nog veel verschil in qua veiligheid?
Wat Aar zegt is hetzelfde als wat ik zeg, hij zegt het alleen iets anders.
De bevestigingscode heb je overigens niet nodig, dat is meer voor het aanpassen van emailaddressen, niet voor passwords. Mijn fout.
ereg: This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged
Waarom variabelen kopiëren?
Bewerking/beveiliging in query.
Foutafhandeling van je query mist.
php --> (echo) ' en in html " gebruiken.
mail; geen foutafhandeling. Headers missen. Gebruik liever phpmailer of swiftmailer
voor beveiliging niet alleen vertrouwen op sha1, maar liever salt (+ pepper) toevoegen.
Oke dat gaat me dus al weer een tikje te ver:p
Variabelen kopieren doe ik omdat ik dit voor mijzelf wat fijner vind werken, maar als dit not-done is zal ik het weghalen.
De query word alleen uitgevoerd als daadwerkelijk het emailadres en naam overeenkomt, hier kan dan toch weinig fout aan gaan, toch?
php --> (echo) ' en in html " gebruiken. , wat bedoel je hier precies mee?
Over phpmailer, ga ik even onderzoeken, evenals de salt en pepper.
Je moet de mysql_query in een variabele zetten en kijken of hij geen false terug geeft, als hij dus geen false terug geeft is de query gelukt. als de query wel false terug geeft kun je een foutmelding echo'en. Dit is een simpele maar goede manier van fout afhandelen.