Perché dovrei scadere dopo un po '?

2

Ci sono alcuni tipi di link che convalidano qualcosa. Ad esempio quando crei un account su un sito web, quel sito ti invia un link di attivazione. Devi controllare la tua casella di posta e fare clic sull'e-mail per attivare il tuo account.

Come sai, quell'e-mail non è valida per sempre, sarà scaduta dopo un po '. Perché? Qual è il vantaggio dei link in scadenza? In altre parole, cosa c'è di sbagliato nel mantenerli validi fino a quando l'utente li usa?

    
posta stack 06.07.2016 - 16:41
fonte

2 risposte

4

[1] Efficienza:

Supponendo di emettere un nuovo token per ogni link per ogni tentativo di registrazione, ti ritroverai con un numero di token che devi tenere traccia per un numero indefinito di volte. Per i termini di praticità suggerisco di impostare un periodo di scadenza di data / ora in base alla natura della domanda.

[2] Sicurezza:

Nel caso della funzione di reimpostazione della password, i token freschi devono ridurre al minimo la probabilità che il tuo token venga indovinato o rubato da un avversario. Diciamo per esempio che abbiamo un'applicazione web che emette un token di reimpostazione password a 6 cifre che non scade mai. Consentirà a un utente malintenzionato di avviare la procedura di reimpostazione della password e di indovinare la password corretta tramite la bruteforcing di tutte le combinazioni possibili. Una scadenza di data / ora ridurrà in modo significativo la finestra di attacco.

La creazione di un token statico valido per sempre è una cattiva pratica. Per tutti i motivi sopra indicati, a seconda della natura della tua applicazione web, i token devono essere sufficientemente complessi, abbastanza casuali e validi solo per un ragionevole lasso di tempo.

    
risposta data 06.07.2016 - 17:03
fonte
0

Il motivo per cui i link di attivazione per l'attivazione di un account sono scaduti, è perché l'account risultante è memorizzato nel database per un periodo limitato.

Diciamo che qualcuno registra un account, ma inserisce un'e-mail non valida. Ora hai un account spazzatura inattivo che gira nel database senza alcun motivo apparente.

Nei casi in cui il collegamento stesso contiene tutte le informazioni per eseguire l'azione, ad esempio un collegamento crittografato contenente tutte le informazioni immesse nel modulo di registrazione o un processo di registrazione in due fasi in cui l'utente scrive per prima cosa il proprio E-mail, quindi verificarlo e quindi completare l'iscrizione con una e-mail pre-compilata, quelle soluzioni possono utilizzare collegamenti con validità illimitata.

Per reimpostare la password, i collegamenti sono di solito limitati nel tempo per motivi di sicurezza, in quanto il token può perdere o essere compromesso se lasciato valido troppo a lungo. Per motivi di greylisting e motivi di consegna per e-mail, personalmente raccomando una validità di 72 ore per una e-mail inviata (dove non si sa se è stata consegnata correttamente o meno, ad esempio se il proprio host web ha uno "smarthost" bisogno di parlare con), e un periodo di validità di 1-6 ore per una mail in cui è possibile confermare la consegna (ad esempio, dove si è in controllo diretto del server di posta che parla direttamente al server di posta del destinatario).

    
risposta data 07.07.2016 - 02:46
fonte

Leggi altre domande sui tag