PDA

View Full Version : [PHP] Pareri su form: password dimenticata


Fede 88
20-11-2009, 21:27
Sto creado la pagina per gli utenti che dimenticano la password del proprio account.

Dato che la password è criptata e non è possibile recuperarla il sistema dovrebbefunzionare nel seguente modo:

L'utente compila una form inserendo l'email usata al momento della registrazione, il codice catpcha e poi preme sul bottone per il reset della password.
A questo punto iniziano i dubbi:

- Secondo voi è meglio inviare una mail all'utente con una nuova password che poi potrà cambiare con una a suo piacimento oppure è meglio inviare all'utente una mail con all'interno il link a una pagina per impostare una nuova password?

cionci
21-11-2009, 09:32
Puoi benissimo fare entrambe le cose :D
Password temporanea più link con un hash sha1 prefissato come parametro (puoi inventartelo come più vuoi).
A quel punto un utente deve inserire manualmente la password temporanea e quella nuova.

Fede 88
21-11-2009, 11:12
Leggendo alcune guide online ho visto che quasi tutte fano in questo modo, dopo aver compilato il form, resettano la password del utente con quella mail.
Però così non va bene perchè chiunque potrebbe inserire mail a caso e cambiare le password agli utenti.

Pensavo di fare in questo modo:
L'utente compila il form, gli invio una mail contenente un link con accodato tramite GET un codice univoco (che salvo in un campo del suo utente, voltendo potrei riutilizzare il campo del codice di attivazione dell'account).
A quel punto se l'utente visita quel link e il codice corrisponde gli resetto la password e gliela invio via email.
Dopodiche se l'utente vuole può cambiare la password dal pannello della gestione dell'account.

Così può funzionare?

cionci
21-11-2009, 11:35
Sì, ma io farei direttamente che l'utente venga obbligato a cambiare subito la password usando quella temporanea e solo a quel punto la password precedente è realmente cambiata.

Fede 88
21-11-2009, 14:01
A questo punto allora non posso fare che l'utente viene mandato direttamente alla pagina per il cambio della password? Tanto ci sarebbe comunque una verifica del codice accodato al link.