Non capisco perché stai inviando loro le password?
I client impostano la loro password preferita, la hash, memorizzano l'hash e nessuno lo sa tranne il client / il suo programma di gestione delle password la password originale (nemmeno tu), e quando la dimenticano, mandi loro un link di ripristino.
Tuttavia se devi davvero inviargli la password, ti suggerisco di inviargli un link a generato dinamicamente pagina web che mostra la sua password (solo per 1 volta).
devi memorizzare temporaneamente qualcosa di simile nel tuo database
emailTocken char (32) password varchar + - -------------------------------- + ----------------- - + | emailTocken | password | + ---------------------------------- + -------------- ---- + | 202CB962AC59075B964B07152D234B70 | jhds7ytht_id | | CF297E613A7F7892A3BF348EE526ABAD | hdhdbdue874 # | | 8F14E45FCEEA167A5A36DEDD4BEA2543 | yeheb8cvddt5) | | 2510C39011C5BE704182423E3A695E91 | 6 # hdyd98_jee | | 8F14E45FCEEA167A5A36DEDD4BEA2543 | yhrtxbxv48_e | + ---------------------------------- + -------------- ---- +
e inviagli un'e-mail in cui esponi solo l'e-mail Blocca non la password
Ciao, cliente Segui questo link per vedere il tuo password https://example.com/showPassword?emailTocken=8F14E45FCEEA167A5A36DEDD4BEA2543
sul server web quando qualcuno richiede questo collegamento, fai quanto segue
- seleziona la password che ha l'emailTocken fornito
- elimina il suo record dal database
Ora il primo che richiede questo collegamento vedrà qualcosa come
Ciao, cliente la tua password è yeheb8cvddt5) NOTA: CANCELLEREMO QUESTA PASSWORD DAI NOSTRI SERVER, QUINDI DEVI RICORDARLA / SALVARLA
Se qualcuno successivamente richiede lo stesso link vedrà qualcosa come
Spiacenti, questa password non esiste o è stata visualizzata prima!
Vantaggi di questo approccio rispetto all'invio della password tramite posta elettronica:
- la password viene esposta solo 1 volta per il primo visualizzatore, non per chi vede l'email in seguito .
- se qualcun altro ha visualizzato la password per prima (un uomo nel mezzo), l'utente legittimo non sarà in grado di vederla e chiederà aiuto, il che ci farà sapere che c'è è successo qualcosa di sbagliato, meglio di come lo vede qualcun altro, e non lo sappiamo nemmeno. Spero che il tuo programma di posta elettronica non lo richieda automaticamente per nessun motivo :( .
svantaggi di questo approccio rispetto all'invio della password tramite posta elettronica:
- richiede un server web
- più lavoro che inviare facilmente la poassword tramite posta elettronica
Come io ti ho detto prima, nessuno tranne il client dovrebbe conoscere la password, e non ho mai provato questo approccio, ma almeno è meglio che esporre la password in testo normale in un EMAIL che può risiedere su molti computer / server per un po '.