¿Por qué debería caducar los enlaces del validador después de un tiempo?

2

Hay pocos tipos de enlaces que validan algo. Por ejemplo, cuando crea una cuenta en un sitio web, ese sitio web le envía un enlace de activación. Debe revisar su bandeja de entrada y hacer clic en el correo electrónico para activar su cuenta.

Como saben, ese correo electrónico no es válido para siempre, caducará al cabo de un tiempo. ¿Por qué? ¿Cuál es el beneficio de los enlaces que expiran? En otras palabras, ¿qué tiene de malo mantenerlos válidos hasta que el usuario los use?

    
pregunta stack 06.07.2016 - 16:41
fuente

2 respuestas

4

[1] Efficiency:

Suponiendo que emita un token nuevo para cada enlace para cada intento de registro, terminará con un número de tokens que debe seguir durante un tiempo indefinido. En términos prácticos, le sugiero que establezca un período de caducidad de fecha / hora en función de la naturaleza de su aplicación.

[2] Seguridad:

En el caso de la función de restablecimiento de contraseña, usted quiere tokens nuevos para minimizar la posibilidad de que un token sea adivinado o robado por un adversario. Digamos, por ejemplo, que tenemos una aplicación web que emite un token de restablecimiento de contraseña de 6 dígitos que nunca caduca. Permitirá que un atacante inicie el proceso de restablecimiento de la contraseña y adivine la contraseña correcta a través de todas las combinaciones posibles. Una fecha / hora de expiración minimizará significativamente la ventana de ataque.

Crear un token estático que sea válido para siempre es una mala práctica. Por todos los motivos indicados anteriormente, dependiendo de la naturaleza de su aplicación web, los tokens deben ser adecuadamente complejos, bastante aleatorios y válidos solo por un período de tiempo razonable.

    
respondido por el Mr. AndreasGeo 06.07.2016 - 17:03
fuente
0

La razón por la cual los enlaces de activación para activar una cuenta, está limitada en el tiempo, es porque la cuenta resultante se almacena en la base de datos por un tiempo limitado.

Supongamos que alguien registra una cuenta, pero ingresa un correo electrónico no válido. Ahora tiene una cuenta de basura inactiva en la base de datos sin ninguna razón aparente.

En los casos en que el enlace en sí contiene toda la información para realizar la acción, por ejemplo, un enlace encriptado que contiene toda la información ingresada en el formulario de registro, o un proceso de registro de 2 pasos donde el usuario escribe primero su Envíe un correo electrónico, luego verifíquelo y luego complete el registro con un correo electrónico previamente completado, esas soluciones pueden usar enlaces con validez ilimitada.

Para restablecer la contraseña, los enlaces suelen estar limitados en el tiempo por razones de seguridad, ya que el token puede filtrarse o verse comprometido si se deja válido por mucho tiempo. Por razones de lista ecológica y por el tiempo de entrega del correo electrónico, personalmente recomiendo una validez de 72 horas para un correo electrónico enviado (donde no sabe si se ha entregado con éxito o no, por ejemplo, si su proveedor de Internet tiene un mensaje "inteligente") necesita hablar con), y un período de validez de 1 a 6 horas para un correo en el que puede confirmar la entrega (por ejemplo, cuando tiene el control directo del servidor de correo que habla directamente con el servidor de correo del destinatario).

    
respondido por el sebastian nielsen 07.07.2016 - 02:46
fuente

Lea otras preguntas en las etiquetas