È un progetto C #, ASP.NET MVC ed ecco il problema:
L'utente può inserire il proprio indirizzo e-mail nel campo di testo per la reimpostazione della password e fare clic sul pulsante Reimposta password. Ogni volta che l'utente fa clic sul pulsante Reimposta password, verrà inviata una nuova e-mail a tale indirizzo email.
Sto tentando di limitare l'email della password di reimpostazione utente a una sola volta ogni x ore.
Quali sono le possibili soluzioni?
Ecco quello che ho in mente finora, ma immagino ci siano altri modi più intelligenti:
-
Crea un cookie sul lato client una volta arrivata la prima richiesta di reimpostazione della password e imposta la data di scadenza del cookie su x ore. Finché il cookie esiste, non consentire all'utente di reimpostare la propria password. (Il problema è che l'utente può facilmente utilizzare un browser diverso o rimuovere manualmente quel cookie)
-
Crea una nuova tabella DB e inserisci l'indirizzo email dell'utente e la data di scadenza in quella tabella. Quando l'utente prova a reimpostare la sua password, fino a quando il record esiste nel DB, non consentire l'invio futuro di email di reimpostazione della password.