Estoy tratando de hacer una provisión para restablecer la contraseña si el usuario olvida su contraseña. Lo que hice es crear una página html (por ejemplo, email.html) donde el usuario ingresará su dirección de correo electrónico. Cuando el usuario envía su dirección de correo electrónico, la página web la reenvía a un servlet, llamémosla forgot_pass.java. Luego se crea una cadena alfanumérica única de 128 bits (por ejemplo, id). Esta cadena junto con la url de forgot_pass.java (como url? Id = 21345 ...) se envía a la dirección de correo electrónico del usuario. Al hacer clic en el enlace, el servlet forgot_pass.java verifica si la identificación es válida o no y también verifica si expiró o no. Si pasa las comprobaciones mencionadas anteriormente, el usuario se reenvía a otra página html (llamemos a este re-enter.html). En esta página, el usuario puede ingresar su ID de correo electrónico, ingresar la contraseña dos veces y enviarla. Esto concluye el proceso.
Mi preocupación es si alguien accede a re-enter.html, ¿no podrá cambiar su contraseña? ¿Cómo puedo mejorar la seguridad?