Come per qualsiasi cosa in cui utilizzi pratiche di sicurezza, l'esposizione e la valutazione delle minacce sono qualcosa che dovrai valutare per il tuo ambiente e caso d'uso unici. Le risposte esistenti forniscono molti punti di contatto per quella valutazione, così come indicazioni su cose da evitare, come le azioni attivate GET
. Invece, mi concentrerò maggiormente sulla parte "utente" della UX. Toccherò anche molti dei commenti sparsi nella pagina.
Anche esattamente ciò che stai "verificando" con l'azione attivata dall'email è un fattore da considerare. Se tutto ciò che stai facendo è confermare che si tratta di un indirizzo email valido, allora quasi tutte le azioni saranno sufficienti. Verificare l'email, l'intenzione di creare l'account e che l'utente che riceve l'email sia l'utente che ha avviato la creazione dell'account richiede un po 'più di impegno.
Uno "sforzo" che non dovresti deve prendere, tuttavia, l'invio di email di promemoria. Supponendo che l'utente abbia creato intenzionalmente l'account, utilizzato un indirizzo e-mail valido e desideri utilizzare l'account per qualsiasi scopo tu offra gli account, cercheranno l'e-mail e intraprenderanno il processo di attivazione non appena sarà in grado di farlo. Il collegamento, il codice o qualsiasi altra cosa, potrebbero scadere prima che vengano utilizzati se vengono deviati su altri argomenti mentre attendono l'email. Consentire loro di inviare nuovamente l'email di verifica in questi casi va bene. Un'e-mail di promemoria, tuttavia, è molto più probabile che sia un trigger di spam che un vantaggio per l'utente.
Come utente apprezzo avere opzioni disponibili per attivare / verificare il mio account. L'insieme di opzioni più comune che ho incontrato è dove l'email fornisce un collegamento su cui posso fare clic o tagliare & incolla, e un codice di conferma che posso inserire in un campo del modulo su una pagina all'interno del mio area delle impostazioni dell'account sul sito web. Raramente il codice di conferma è tutt'altro che un numero intero, da 5 a 9 cifre.
Le email di verifica che mi danno, come utente, maggiore sicurezza sono quelle che hanno un hash dall'aspetto crittografico nell'URL ( / verify? l = lgGS2SBjMTU4NjkwNjYxMjI5MDBhZDk2YjEyMzMzYjNhZmQxOb
), che mi porta a) pagina unica per me dove poi devo inserire la password che ho usato per creare l'account. L'utilizzo dell'hash conferma che il link è stato ricevuto in una mail, non indovinata o forzata, verificando così che l'email sia valida. La pubblicazione di quella pagina univoca, prima di qualsiasi altra azione, consente al server di contrassegnare l'email a cui è stata inviata come "valida" senza confermare la creazione dell'account. L'immissione della password conferma la presenza di un attore dall'altra parte, al contrario di alcune operazioni antivirus, di rilevamento di malware o di pre-fetch. La validità della password conferma, con un ragionevole grado di certezza, che il destinatario dell'email e il creatore dell'account sono la stessa persona.
Il limite di tempo proposto di 30 minuti sembra un po ' grave, mentre un periodo di 24 ore potrebbe essere troppo ampio se la valutazione della minaccia suggerisce che l'esposizione in 24 ore è inaccettabile. Credo che 2 ore dovrebbero essere sufficienti per quasi tutti gli ambienti degli utenti. Soprattutto se è disponibile la possibilità di inviare nuovamente la verifica. Anche l'utilizzo di un dispositivo mobile con una connessione a 14 kb / s a un account POP remoto dovrebbe essere in grado di completare lo scambio entro 120 minuti.
L'uso di JS per verificare in qualche modo le azioni umane può essere problematico. JS può essere disattivato ed è molto più spesso di quanto molti sviluppatori web vorrebbero sapere. In secondo luogo, i blocchi degli annunci possono bloccare JS in base al sito o alla sorgente anche quando JS è abilitato nel browser. Blocco molte fonti JS, inclusi gli script di analisi di Google, su base globale e ne autorizzo alcune per i siti, come Stack Exchange, dove sono disposto a supportarle con l'uso dei miei dati.
Includere un link nell'email, o nella pagina di conferma, per "cancellare" l'account è uno spreco. Nell'e-mail è effettivamente controproducente in quanto suggerisce che fare clic su un collegamento su un account che non si desidera sia una buona idea. Invece, l'e-mail dovrebbe includere parole per indicare che non fare nulla causerà la non conferma dell'account e forse l'eliminazione. Un link per cancellare nella pagina di conferma è anche peggio, in quanto premia un cattivo comportamento. Ricevo spesso e-mail, come parte di un vecchio snafu di Google, dirette a un altro account Gmail e presumo che sia vero anche il contrario per l'altro account. [Ai vecchi tempi Google non univa i nomi utente punteggiati e non punteggiati, quindi il mio nome utente punteggiato e la versione non punteggiata di qualcun altro sono account diversi, tuttavia Google commette errori di tanto in tanto e ricevo comunque la loro email :(]
Il grado di accoppiamento tra l'indirizzo email "verificato" e il link di attivazione è una funzione del tuo caso d'uso e della valutazione delle minacce. Sono leggermente infastidito quando devo convalidare nuovamente il mio account dopo aver cambiato l'indirizzo email associato. Il modo in cui accetto il processo è proporzionale al mio "valore" del conto. Per il mio conto bancario, PayPal, ecc., Accetto al 100%. Su PcPartsPicker, tuttavia, accetto circa il 15% un processo.
Per quanto riguarda l'IP e / o lo user agent, ignorali. Come esempio, spesso visualizzerò i siti e sceglierò di creare un account, utilizzando il mio dispositivo mobile. non , tuttavia apro le email su di esso. Se creo un account e apprendo che devo verificarlo o confermarlo in qualche modo, e l'email è il metodo offerto, aspetto di tornare a casa per aprire l'email sul desktop, dove posso esaminarla. L'IP e l'agente utente saranno quindi molto diversi. La mia password, tuttavia, rimarrà la stessa e dovrebbe essere sufficiente per verificarmi come creatore dell'account originale.
Ricorda solo che le email sono sicure quanto il Jumbo-tron a Times Square e procedere di conseguenza.