Ho implementato un servizio di password dimenticata nel modo seguente:
- L'utente accede alla pagina di accesso, fa clic su "Hai dimenticato la password?"
- L'utente viene presentato con un modulo che richiede il suo indirizzo email.
- L'e-mail viene inviata all'indirizzo specificato se nel database, con un collegamento che contiene una (presumibilmente) unica, lunga stringa generata casualmente, che viene anche memorizzata nel database insieme al tempo richiesto, consentendo un limite di tempo per essere impostato sul link (che è)
- L'utente fa clic sul link, viene convalidato, viene quindi richiesto di fornire una nuova password.
Questo è abbastanza standard, (anche se potrei cambiarne alcuni aspetti), ma mi ha fatto meraviglia - dal momento che le password buone vengono fornite / ricordate così raramente, perché non fare a meno della password e utilizzare invece il sistema Password dimenticata?
- L'utente accede alla pagina di accesso, compila l'indirizzo email (o forse un nome utente per essere più sicuro?)
- L'email viene inviata con il link. Link ha una validità molto limitata (< 5 min) di validità.
- Link clic dell'utente, sono in.
In entrambi gli scenari, la sicurezza della posta elettronica dell'utente, indipendentemente dal fatto che sia stata sniffata o interrotta, è la minaccia comune, ma nel secondo scenario:
- Il link è valido per un tempo molto più breve.
- È probabile che venga utilizzato più rapidamente (qualsiasi tipo di e-mail di convalida può essere lasciato in pace, ma se vuoi assolutamente accedere ora userai quel link quando lo avrai).
- L'utente non può fornire una password scadente.
- L'utente deve solo ricordare una password.
- Un singolo account non può essere condiviso tra più persone (a meno che non condividano un indirizzo email).
- Un attacco automatico deve penetrare nel sistema di posta elettronica e attendere un messaggio di posta elettronica, che probabilmente è più lungo dell'attesa che una password sia disattivata, meglio di bcrypt.
Mi sto solo chiedendo quali sono gli aspetti negativi? Posso vedere:
- Irritazione da parte dell'utente, forse per dover aspettare un'email o accedere anche alla loro email
- Probabilmente aprirà una nuova finestra del browser, che può essere irritante se si desidera organizzare le schede
- Un utente potrebbe rendersi conto che è necessario proteggere il proprio account di posta elettronica con una password migliore, modificarlo e quindi bloccarsi: -)
È solo un pensiero.
Grazie a tutti coloro che hanno fornito una risposta, ci sono alcuni punti davvero interessanti (e sicuramente validi) che mi hanno davvero fatto riflettere e mi hanno dato più punti su cui indagare. D.W. ottiene il segno di spunta a causa del link fornito che fornisce ulteriori informazioni su questo particolare tipo di situazione, ma apprezzo molto tutte le risposte fornite.