1) se fia una ricerca nel forum trovi 3.000 post in cui si parla di generazione di stringhe random
2) www.php.net/md5 una funzione di hash non reversibile.. quindi devresti confrontare la stringa che arriva alla pagina con l'md5 della password che hai memorizzata
3) Per funzionare funziona... però non capisco perchè criptare una password random temporanea.. nè capisco l'utilità della password temporanea. Se vuoi generare tu la password [è un buon metodo], mantienila nel database e al limite dai all'utente la possibilità di cambiarla.
Un metodo alternativo, se vuoi far scegliere la password all'utente direttamente al momento dell'iscrizione, è passare alla pagina l'id e l'md5 dell'id + una parola segreta che conosci solo tu ma è uguale per tutti.. in questo modo l'utente malizioso che volesse attivare un account "falso" (cioè con l'email errata) non potrebbe cercare di attivarlo conoscendo solo l'id.. perchè innanzitutto deve capire che il secondo parametro è una stringa md5, ed infine pur capendolo non conoscerebbe la tua "password" con cui, assieme all'id (per non avere sempre l'md5 uguale) generi la stringa di conferma
fai un po' te
![]()