Ik wil gebruikers van een website de mogelijkheid geven zich te registeren, wat toegang geeft tot andere onderdelen van de site (gastenboek ed). Ik wil voorkomen dat mensen zich met een of andere bullshit gaan registeren om zomaar onzin te gaan posten. Ik was van plan om dit als volgt te doen:
De user vult een form in, waarbij wordt gevraagd om een username, wachtwoord (2x) en een emailadres (2x). De user wordt vervolgens invoegd in een mysql tabel temp_users, met een uniek-id. Hierna wordt een email gestuurd met daarin een link naar een validate.php file die het uniek-id uit de url haalt, en vergelijkt met het id in de database. Komt dit overeen, dan wordt de user gekopieerd naar tabel users, en uit de temp_users tabel verwijderd.
Het unieke id genereer is als volgt:
$unique_id = md5(uniqid(rand(), true));
Dit lijkt mij een (redelijk) goede manier om dit enigszins te beveiligen, maar kan het misschien nog op een efficientere of betere manier?
De user vult een form in, waarbij wordt gevraagd om een username, wachtwoord (2x) en een emailadres (2x). De user wordt vervolgens invoegd in een mysql tabel temp_users, met een uniek-id. Hierna wordt een email gestuurd met daarin een link naar een validate.php file die het uniek-id uit de url haalt, en vergelijkt met het id in de database. Komt dit overeen, dan wordt de user gekopieerd naar tabel users, en uit de temp_users tabel verwijderd.
Het unieke id genereer is als volgt:
$unique_id = md5(uniqid(rand(), true));
Dit lijkt mij een (redelijk) goede manier om dit enigszins te beveiligen, maar kan het misschien nog op een efficientere of betere manier?