Chiaramente la preoccupazione qui è la possibilità di un utente malintenzionato di enumerare gli indirizzi e-mail degli utenti esistenti provando ogni possibile combinazione e vedendo cosa funziona, o forse il rischio di rivelare in modo errato che un determinato indirizzo è associato a un utente.
Ci sono alcuni modi per farlo e il metodo "password dimenticata" è solo uno. Un altro è tentare di iscriversi usando l'indirizzo email di qualcun altro e vedere se è rifiutato. E a seconda dell'applicazione, potrebbero esserci molte altre tecniche simili.
Il rischio è molto basso, in quanto le informazioni che ottieni non sono in genere molto utili. Poiché tutto ciò che si ottiene è una risposta "sì / no" (ad esempio, se non si recupera il nome utente o l'ultimo IP noto, ad esempio), sarebbe difficile sfruttare questa conoscenza in un altro attacco. Ma forse non sempre impossibile.
Tuttavia, in molte applicazioni penso che sarebbe considerato un rischio accettabile per gli utenti in cambio di un po 'di facilità d'uso nella schermata della password dimenticata, assumendo che si prendano alcune precauzioni ragionevoli.
Ovviamente, limitazione della velocità sarà fondamentale. Dovresti farlo già. Se una persona prova questo più di un paio di volte in un breve periodo, dovresti rallentarle. E forse se persistono, dovresti farli fermare e chiamarti invece.
Un'altra possibilità è captcha - non sono perfetti, ma sicuramente rendono l'automazione più difficile.
E un altro richiede più informazioni oltre al semplice indirizzo email. Forse hanno bisogno di fornire sia il loro indirizzo e-mail e il loro codice postale o il cognome o pokemon preferito. Ovviamente questo apre la minima possibilità di abuso in modo tale che un utente malintenzionato possa usare il tuo servizio per collegare gli indirizzi email ai pokemon preferiti, ma un tale attacco sarebbe probabilmente troppo costoso per valerne il tempo, specialmente se includi la mitigazione di cui sopra. / p>