Es un correo electrónico de activación de la cuenta de usuario sin un secreto guardado en la base de datos razonablemente seguro?

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

  •  18-09-2019
  •  | 
  •  

Pregunta

Quiero crear una aplicación de noticias y los usuarios, naturalmente, tendrá que confirmar que firmaron en el boletín por lo que no SPAM si algún bot entró direcciones.

Mi idea era simplemente enviar al usuario un correo electrónico que contiene un vínculo que tiene un secreto en la URL, que es un hash de la dirección de correo electrónico y algunos SiteKey secreto.

Mi pregunta es la siguiente: ¿Puede alguien registrándose algunas cuentas y por lo tanto recibir el hash del secreto con su dirección, adivinar el SiteKey y así registrar todas las direcciones de correo electrónico que quiere?

No veo nada que pueda ser obtenida de hacer eso, pero si es muy fácil, es probable que alguien va a hacerlo y me sale en la lista negra.

Mi razón para no almacenar una cuenta que no sea activado por el usuario son simplemente que yo no quiero afinará de la BD cada x días.

¿Fue útil?

Solución

Si asegúrese de usar algo como sha1 con una sal completamente al azar / SiteKey, a continuación, sería inútil tratar de alterar el diseño del SiteKey con un ataque de diccionario.

Si alguien hicieron quieren sintetizar sus propios valores hash para registrar direcciones arbitrarias, un uso más eficaz de su tiempo sería para tener acceso a su servidor para leer el código fuente:)

Otros consejos

Creo que sería mejor para generar un secreto aleatorio y mantenerlo en el PP. De esa manera no hay nada que se pueda adivinar. (Al menos no nada que concede permiso para agregar cualquier correo electrónico).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top