Foros del Web » Programando para Internet » PHP »

Confirmar cambio de dirección de correo

Estas en el tema de Confirmar cambio de dirección de correo en el foro de PHP en Foros del Web. Hola gente. Creo este tema porque no estoy seguro de como encarar la siguiente situación, que es muy típica pero no encontré nada que me ...
  #1 (permalink)  
Antiguo 11/03/2012, 21:20
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Confirmar cambio de dirección de correo

Hola gente.

Creo este tema porque no estoy seguro de como encarar la siguiente situación, que es muy típica pero no encontré nada que me ayude. Todos sabemos que lo normal al solicitar un cambio de dirección de correo con una cuenta de usuario es que nos llegue un correo a la dirección "nueva" con un enlace (formado por un código de seguridad con caracteres aleatorios y la nueva dirección de correo) para confirmar el cambio, de esta forma se asegura que el nuevo correo sea válido.
Ahora, viéndolo desde el punto de vista del desarrollador, el campo de correo electrónico en la BD no debería ser modificado hasta que el usuario haya ingresado al enlace de confirmación, ya que si el usuario solicita el cambio pero nunca lo confirma, no debería producirse ninguna alteración en su perfil.
El dilema es: ¿dónde guardo el código de seguridad? Si no puedo usar el campo de correo electrónico (ya que no debo alterarlo hasta la confirmación), ¿debería crear otro campo en la BD sólo para eso, resultando en una gran cantidad de campos con valor nulos inútiles? ¿O sería mejor crear una tabla aparte donde se listen los cambios de correo pendientes? ¿Qué otras alternativas hay?

Espero haberme explicado bien. Un saludo y gracias desde ya.
  #2 (permalink)  
Antiguo 11/03/2012, 21:23
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 8 meses
Puntos: 21
Respuesta: Confirmar cambio de dirección de correo

bueno me parece que es mas factible crear una nueva tabla para los cambios que podrias llamar por ejemplo "cambios_pendientes" :)
  #3 (permalink)  
Antiguo 11/03/2012, 22:49
Avatar de kSebaPerez  
Fecha de Ingreso: marzo-2012
Mensajes: 12
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Confirmar cambio de dirección de correo

Yo realizaria una tabla nueva con 3 columnas:
- id_usuario
- correo_nuevo
- codigo


codigo es un string random que generas cuando el usuario pide cambiar el correo. A la nueva direccion se enviaria un link que tenga como parametro este codigo, como por ejemplo:
http://www.midominio.com/confirmarcorreo.php?c=d3H3BH3Bsdasr3b4j3ff

Cuando el usuario ingresa simplemente realizas un SELECT a la nueva tabla buscando ese codigo, extraes el id_usuario y con un UPDATE reemplazas el valor del campo correo de la tabla de usuarios por correo_nuevo de esta nueva tabla.

Asi simplemente tendras una tabla con los valores que deben ser actualizados.
Puedes agregarle una columna de timestamp para que los codigos "venzan" despues de determinado tiempo.

Etiquetas: confirmar, correo, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:18.