Salve,
sono un nuovo utente, buongiorno a tutti.
Sto progettando un sistema di login per un sito che ho in mente di fare e mi trovo davanti al seguente dilemma:
La parte riguardante il recupero della password funzione seguendo 5 azioni.
1) L'utente immette o la mail o lo username
2) Viene generato un hash che poi viene inviato in posta al utente (contemporaneamente un campo del database viene settato a false per bloccare l'account)
3) L'utente clicca sul collegamento che gli arriva in posta
4) Verifico che i due hash corrispondano (quello del db e quello inviato dal utente) e se si gli presento una form per l'inerimento di una password temporanea
5) Quando l'utente si collega verifico per prima cosa che il campo della password temporanea non sia vuoto e se non lo è lo dirigo ad una form, senza neanche farlo passare per il pannello di controllo, dove deve inserire la password temporanea per conferma ed una nuova password confermandola. A questo punto la password temporanea viene cancellata dal database, il campo setto a false nel database viene risettato a true ... non è il campo che controlla se l'account è attivo o no ... e siamo tutti felici.
Domanda.
Ma non c'è un modo per fare una cosa del genere ?
1) L'utente immette username o mail
2) Gli genero e mando un hash per la conferma
3) Quando l'utente risponde gli assegno una password casuale registrandola nel campo password del database
4) Lo avviso che dovrà provvedere a cambiare la password casuale entro tot secondi altrimenti la password viene cancellata e deve rifare tutta la procedura.
In pratica il punto 4. E' possibile generare una password, immetterla nel database automaticamente (ovviamente si) e predisporre un sistema che se non rileva un login del utente, a mezzo del campo LastVisit, entro tot tempo cancella da solo quella password ?
Grazie per le risposte
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
edit: Mi rispondo da solo: Quando l'utente logga con la password temporanea basta verificare ovviamente se coincide con quella assegnatagli e dopo verificare che dal momento della creazione di tale password (mediante il campo CreationTempPassword) al momento del inserimento sono passati più di tot secondi e se si cancellarla dal database invitando l'utente ad una nuova procedura.
sono un nuovo utente, buongiorno a tutti.
Sto progettando un sistema di login per un sito che ho in mente di fare e mi trovo davanti al seguente dilemma:
La parte riguardante il recupero della password funzione seguendo 5 azioni.
1) L'utente immette o la mail o lo username
2) Viene generato un hash che poi viene inviato in posta al utente (contemporaneamente un campo del database viene settato a false per bloccare l'account)
3) L'utente clicca sul collegamento che gli arriva in posta
4) Verifico che i due hash corrispondano (quello del db e quello inviato dal utente) e se si gli presento una form per l'inerimento di una password temporanea
5) Quando l'utente si collega verifico per prima cosa che il campo della password temporanea non sia vuoto e se non lo è lo dirigo ad una form, senza neanche farlo passare per il pannello di controllo, dove deve inserire la password temporanea per conferma ed una nuova password confermandola. A questo punto la password temporanea viene cancellata dal database, il campo setto a false nel database viene risettato a true ... non è il campo che controlla se l'account è attivo o no ... e siamo tutti felici.
Domanda.
Ma non c'è un modo per fare una cosa del genere ?
1) L'utente immette username o mail
2) Gli genero e mando un hash per la conferma
3) Quando l'utente risponde gli assegno una password casuale registrandola nel campo password del database
4) Lo avviso che dovrà provvedere a cambiare la password casuale entro tot secondi altrimenti la password viene cancellata e deve rifare tutta la procedura.
In pratica il punto 4. E' possibile generare una password, immetterla nel database automaticamente (ovviamente si) e predisporre un sistema che se non rileva un login del utente, a mezzo del campo LastVisit, entro tot tempo cancella da solo quella password ?
Grazie per le risposte
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
edit: Mi rispondo da solo: Quando l'utente logga con la password temporanea basta verificare ovviamente se coincide con quella assegnatagli e dopo verificare che dal momento della creazione di tale password (mediante il campo CreationTempPassword) al momento del inserimento sono passati più di tot secondi e se si cancellarla dal database invitando l'utente ad una nuova procedura.
Ultima modifica: