È un'email di attivazione account utente senza un segreto conservato nel DB ragionevolmente sicuro?

StackOverflow https://stackoverflow.com/questions/1158258

  •  18-09-2019
  •  | 
  •  

Domanda

Voglio creare un'applicazione newsletter e gli utenti avranno naturalmente confermare che hanno firmato per la newsletter in modo che non lo spam loro se alcuni bot entrato indirizzi.

La mia idea era quella di trasmettere semplicemente all'utente una e-mail contenente un collegamento che ha un segreto nel URL, che è un hash dell'indirizzo di posta elettronica e un po 'sitekey segreto.

Le mie domande sono le seguenti: Qualcuno può registrando alcuni account e quindi ricevere l'hash del segreto con il suo indirizzo, indovinare il sitekey e quindi registrare ogni indirizzo e-mail che vuole?

Non vedo nulla che possa essere acquisita dal farlo, ma se è molto semplice, è probabile che qualcuno lo farà e vengo nella lista nera.

La mia ragione per non memorizzare un account non attivo utente sono semplicemente che io non voglio eliminare loro dal DB ogni x giorni.

È stato utile?

Soluzione

Se si assicura si usa qualcosa come SHA1 con una del tutto casuale sale / sitekey, quindi sarebbe inutile tentare di reverse engineering del sitekey con un attacco dizionario.

Se qualcuno ha vuole sintetizzare il proprio hash per registrare gli indirizzi arbitrari, un uso più efficace del loro tempo sarebbe quello di ottenere l'accesso al server di leggere il codice sorgente:)

Altri suggerimenti

Credo che sarebbe meglio per generare un segreto casuale e tenerlo in db. In questo modo non v'è nulla che possa essere indovinato. (Almeno non nulla che concede il permesso di aggiungere qualsiasi e-mail).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top