¿Cuánto tiempo debe durar un enlace de confirmación de la dirección de correo electrónico y por qué debe caducar?

35

Después de que un usuario se registre, se le envía un correo electrónico con un enlace en el que debe hacer clic para activar la cuenta. Sé que otros sitios tienen un límite en la cantidad de tiempo que el usuario tiene que hacer clic en el enlace, de lo contrario, el enlace caducará. Ahora que lo pienso, ¿por qué es necesario? ¿Es para evitar que un atacante cree cuentas para las que no posee el correo electrónico registrado porque podría generar una gran cantidad de cuentas arbitrariamente y tener un tiempo ilimitado para adivinar los enlaces de activación?

Si es necesario, ¿por cuánto tiempo debe el usuario hacer clic en el enlace?

    
pregunta Celeritas 13.08.2013 - 01:29
fuente

3 respuestas

38

La mayoría de los sitios web permiten que una dirección de correo electrónico se use solo para una cuenta, lo cual tiene sentido porque la mayoría de las veces, los usuarios solo necesitan una cuenta. Por lo tanto, se requiere una dirección de correo electrónico única.

Dicho esto, una vez que el usuario se ha registrado pero solo necesita confirmar su dirección de correo electrónico, usted desea insertar en la base de datos la dirección de correo electrónico del usuario para no permitir que otra persona o la misma persona se registren. otra vez. Si no maneja la caducidad de la confirmación de correo electrónico, alguien podría registrarse con la dirección de correo electrónico de otra persona y nunca confirmarlo, lo que bloquearía el correo electrónico del usuario legítimo si alguna vez desea registrarse en su sitio web.

Si el usuario no ha confirmado su dirección de correo electrónico en el tiempo especificado, desea que esté disponible nuevamente, en caso de que no sea realmente su dirección o si desea registrarse de nuevo más tarde. Considere el caso en que un usuario ingresó la dirección de correo electrónico incorrecta por un error.

Ahora, por el tiempo correcto, diría que depende del tipo de sitio web que sea. No veo el punto de permitir más de unas pocas horas porque el usuario debería poder acceder rápidamente a su dirección de correo electrónico si pudo registrarse en su sitio web. Considere el caso en el que un usuario olvidó la contraseña de su dirección de correo electrónico y no puede acceder a ella. Es posible que tenga que seguir algunos pasos para recuperar su contraseña, lo que podría llevar un tiempo. Sin embargo, ¿realmente haría daño si tiene que registrarse de nuevo? Una vez más, depende de la página web.

    
respondido por el Simon 13.08.2013 - 02:22
fuente
7

Al eliminar los ataques de agotamiento de recursos de la ecuación, no hay ninguna razón por la que deba caducar esos enlaces.

Dicho esto, debes pensar en cómo el 99% de los usuarios van a usar tu sitio y optimizarlo para eso. Será raro que alguien encuentre un enlace de activación de 18 meses en su bandeja de entrada Y recuerde su sitio Y aún lo encuentre útil Y haga clic en ese enlace.

Con los enlaces o códigos de activación que duran para siempre, debes mantenerlos para siempre. Si tiene un sitio popular que podría contener muchas filas en su base de datos.

¿Cuál es el peor de los casos si expiran esos enlaces después de 10 días y tienen que hacer clic en "crear cuenta" nuevamente?

Por cierto, el bloqueo de activación para un usuario B porque el usuario A ya usó su dirección de correo electrónico (errónea o malintencionadamente) es una experiencia muy mala. No se trata de quién llega primero, se trata de quién es el propietario de la cuenta de correo electrónico.

    
respondido por el u2702 13.08.2013 - 18:43
fuente
4

Estoy de acuerdo con esta respuesta (+1). La mayoría de los sitios deben tener la funcionalidad ' Reenviar correo electrónico de verificación ' porque el correo electrónico original puede perderse en ruta o ser bloqueado por un filtro de correo no deseado. Esto significa que, contrariamente a la respuesta más actualizada , nadie puede bloquear mi correo electrónico porque siempre puedo reenviar la verificación correo electrónico a mi dirección. Por lo tanto, la única razón real para que caduquen los enlaces de verificación es recursos de almacenamiento : queremos eliminar las cuentas no verificadas (enlaces) para evitar que el almacenamiento crezca indefinidamente o se ralentice. Por lo tanto, necesitamos una forma sensata de eliminar las cuentas no verificadas "vencidas" (por ejemplo, 48 horas desde que se envió el último correo electrónico de verificación).

    
respondido por el Dmitry 17.11.2013 - 01:42
fuente

Lea otras preguntas en las etiquetas