Pregunta

Esta pregunta probablemente ya se ha hecho antes, pero parece que no puedo expresar mi búsqueda correctamente lo suficiente como para encontrar la respuesta.

Normalmente, cuando se registra para obtener acceso a un foro en Internet, se le envía un correo electrónico de autorización y puede hacer clic en un enlace que lo lleva a una página que realiza la autorización.

Lo que quiero es enviar un correo a un usuario ya creado (aunque no haya iniciado sesión) y permitirles aceptar una propuesta haciendo clic en un enlace del correo. El enlace del curso apunta a una página que realiza las operaciones de la base de datos y muestra algún tipo de resultado.

¿Qué técnicas y / o ruta debo tomar para implementar esto? Y dado que esto está relacionado con la seguridad, ¿qué debo tener en cuenta?

Saludos cordiales, Casper

¿Fue útil?

Solución

Cuando envíe el correo electrónico, genere una gran cadena aleatoria y almacénela en una tabla con su ID de usuario y alguna indicación de lo que va a hacer el enlace.

Luego envíeles el correo electrónico con un enlace a DoSomething.aspx? id = long_string_here .

Escriba DoSomething.aspx para que busque la cadena larga y le presente al usuario una confirmación de lo que hará y un botón para hacerlo. No es necesario iniciar sesión. Incluso puede dejar al usuario conectado, si lo desea.

Una vez completada la acción, o cada X días, elimine la cadena de la tabla.

Preocupaciones :

  1. Las personas malas pueden intentar golpear su página con cadenas aleatorias. Si sus cadenas son lo suficientemente largas y aleatorias, esto no importará, pero es posible que desee limitar el acceso a la página o evitar más de X solicitudes de una dirección IP en un período determinado.
  2. Los verificadores agresivos de spam pueden seguir el enlace del cuerpo del correo electrónico. Asegúrese de que no se realice ninguna operación simplemente accediendo a la página; el usuario debería hacer clic en un botón o provocar una POST.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top