L'autenticazione e-mail usa un hash (indirizzo + stringa) non sicuro?

2

Voglio dare a un iscritto alla newsletter la possibilità di cambiare le sue informazioni. Dal momento che stiamo utilizzando un'azienda esterna per l'invio della nostra newsletter, non posso inserire una chiave direttamente nella newsletter (o non senza molti sforzi).

Ho creato un modulo in cui puoi inserire la tua email e dopo aver controllato se si tratta di un abbonato, invia un'e-mail con un link per modificare le tue informazioni.

Il link contiene la semplice e-mail e una chiave hash fatta come sha1 (email + "someString"), ad esempio:

domain.com/[email protected]&key=356a192b7913b04c54574d18c28d46e6395428ab

Nel mio script, quindi, controllo se l'email fornita + "someString" ha lo stesso risultato della chiave.

So che il collegamento rimarrà lo stesso per cambiare le tue informazioni, ma volevo chiedere se c'è qualche problema di sicurezza nel fare tutta questa cosa in questo modo, o dovrei piuttosto creare chiavi univoche e memorizzarle nel database?

Cambierà solo il tuo nome, cognome ... forse mi preoccupo troppo.

    
posta Som1 03.02.2015 - 09:41
fonte

1 risposta

2

Dato che vuoi modificare le informazioni dell'utente, probabilmente hai già un db con (email, nome, cognome) quindi dovrei aggiungere anche il token (più una scadenza).

Se lo utilizzi in modo non statale (ad es. solo per confermare l'iscrizione), questo è un approccio accettabile, ma dovresti utilizzare un HMAC piuttosto che un hash di valori concatenati.

    
risposta data 03.02.2015 - 17:00
fonte

Leggi altre domande sui tag