La domanda non è programmatica ma piuttosto concettuale.
Quando un utente tenta di compilare un modulo di contatto e quindi un codice CAPTCHA, se accidentalmente aggiorna la pagina o non riempie un campo di input richiesto, tornerà alla stessa pagina di solito con un nuovo Codice captcha. L'utente deve quindi ricaricare gli input e, ahimé, incontra un altro codice CAPTCHA che deve essere risolto di nuovo.
I - essendo un utente prima di uno sviluppatore - lo vedo come un compito per completare costantemente i CAPTCHA e vorrei che potesse essere cambiato in qualche modo che non mi faccia distinguere inutilmente quei noiosi personaggi un'altra volta.
Quindi, essendo nei panni del mio sviluppatore, decido di cambiare il modo in cui viene mostrato il codice CAPTCHA. Tengo il codice CAPTCHA in una sessione e non lo rinnoverò a livello di programmazione a meno che:
- L'utente desidera aggiornarlo.
- L'utente commette errori X nell'immissione dello stesso codice CAPTCHA. (ad esempio 3 volte)
Altrimenti, in ogni richiesta vengono mostrati gli stessi caratteri, non è necessario preoccuparsi di aggiornamenti indesiderati. Ma essendo lo sviluppatore che ci ha pensato, ci possono essere delle possibilità che qualcuno possa ignorarlo o sabotare cose di cui non sono a conoscenza.
L'implementazione di questo concetto può essere sicura e, in caso contrario, quale potrebbe essere la sua vulnerabilità?