Foros del Web » Programando para Internet » PHP »

Usuario no activa la cuenta por email

Estas en el tema de Usuario no activa la cuenta por email en el foro de PHP en Foros del Web. A ver si me podeis ayudar en un par de cosas que no las tengo del todo claras!! He desarrollado un formulario de registro con ...
  #1 (permalink)  
Antiguo 05/11/2009, 03:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Usuario no activa la cuenta por email

A ver si me podeis ayudar en un par de cosas que no las tengo del todo claras!!

He desarrollado un formulario de registro con el envio del email de validación. Pero me pregunto que sucede cuando el usuario no ha activado la cuenta!!. ¿Deberiamos borrar las cuentas NO ACTIVAS cada mes? cada semana? Que sucede si un usuario decide activarla a los 40 dias?

Y, en caso de haber borrado el registro en la BD de un usuario, si este vuelve a darse de alta, ¿Podrá hacerlo con los mismos datos de acceso que utilizó en el primer registro?

Grácias
  #2 (permalink)  
Antiguo 05/11/2009, 03:45
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Usuario no activa la cuenta por email

se supone que al crear una cuenta, el usuario tiene disponible una cantidad de días para realizar la activación, si no lo hace durante el plazo, la cuenta se elimina y tendra que crearla nuevamente.
Tendrías que crear una tarea que se ejecute periodicamente para que haga una comprobacion de las cuentas que no han sido activadas durante el plazo XX y las elimine.

Asi suelen trabajar algunos de esos sitemas.

Saludos.
  #3 (permalink)  
Antiguo 05/11/2009, 04:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Respuesta: Usuario no activa la cuenta por email

Grácias por la respuesta!! Lo limitaré a un par de dias o algo así.

Una última pregunta: Si después de activar un usuario ( ACTIVO=SI ), este olvida la contraseña y la solicita ¿habría que desactivar la cuenta y esperar a que el usuario la active de nuevo? ¿Cual sería el procedimiento a seguir?

Gracias
  #4 (permalink)  
Antiguo 05/11/2009, 06:39
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Usuario no activa la cuenta por email

Hola

No hace falta desactivar la cuenta. Solo has de darle la posibilidad de solicitar una nueva contraseña generada por tu código. Esta la mandas como vinculo en un correo, a la dirección con la que se logeo. Después puedes darla la opción de cambiar esa contraseña creada automáticamente por otra que le sea de su agrado

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 05/11/2009, 08:54
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Respuesta: Usuario no activa la cuenta por email

Grácias por la respuesta. Muy útil :)

De todas formas me pregunto por que algunas páginas te envian directamente tu contraseña y otras te envian un link para solicitar la nueva contraseña.

Que es más seguro o más recomendable? Creo que la primera opción debería de ser valida, puesto que cuando te das de alta recibes la contraseña también; No vo ninguna diferencia con enviarte la contraseñ de nuevo directamente.

Espero me resolvais esta duda.

Muchas gracias de antemano
  #6 (permalink)  
Antiguo 05/11/2009, 09:16
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 8 meses
Puntos: 8
Respuesta: Usuario no activa la cuenta por email

La primera opcion, te envia la contraseña directamente porque la guardan en la base de datos directamente sin encriptar, (cosa que es menos seguro).
La segunda opcion, te envia un enlace porque la contraseña esta encriptada y eso es irreversible lo que quiere decir que no puede desencriptarse y lo que se hace en ese caso es que cuando el usuario solicita de nuevo la contraseña segenera una aleatoriamente, se envia al email y se guarda de nuevo en la base de datos la nueva contraseña pero encriptada.

jejeje es un poco lio pero espero lo entiendas.
  #7 (permalink)  
Antiguo 05/11/2009, 09:20
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Usuario no activa la cuenta por email

Pues hombre, enviarte la password por Email digamos que no es muy recomendable, almenos es mi puesto de vista, todo lo que se envíe por mail peligra. Por eso te envían un link con un codigo de acceso, para precisamente no mostrar la password.

Yo utilizo el mismo sistema de login. les envio un mail con un codigo y desde el link linkean el codigo para activarla. Si no la activan en 5 días, borro el codigo de activación. Y a lo que preguntabas sobre si la olvida, estoy totalmente de acuerdo con Adler, tienes que tener la opción de setear la password a los usuarios que la olvidan.

Saludos
  #8 (permalink)  
Antiguo 05/11/2009, 10:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Respuesta: Usuario no activa la cuenta por email

Grácias por las respuestas!!

Creo que lo tengo todo claro pero me gustaria aclarar un punto:

Según lo dicho, si el usuario olvida la contraseña, se le envia un mail para verificar que realmente es el la persona que la ha solicitado, y en caso afirmativo, el usuario clickea el link y se le envia la nueva contraseña puesto que la antigua al estar cifrada no es posible descifrarla.

Ahora pregunto, es mejor de esa forma o de la siguiente ( puesto que he visto las dos por intenet ):

En caso de haber olvidado la contraseña se le envia un link para acceder a la web y crear él la nueva password evitando de esa forma el envio de contraseñas a través del correo. ( Cuano se diese de alta el usuario no le enviariamos la password tampoco por motivos de seguridad ).

Quizá la segunda forma no está tan expandida pero la veo más segura, ¿que pensais?

Grácias de antemano!!
  #9 (permalink)  
Antiguo 05/11/2009, 11:11
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Usuario no activa la cuenta por email

Yo utilizo la segunda. Nunca envio passwords por mail. Cuango genero el mail para resetearla, el link que recibe le redirecciona a una pagina para volver a generar una password. Yo lo hago de la siguiente manera:

1. pagina remember_password.php
contiene un formulario con para introducir su Email. (Los emails son únicos, no dejo crear dos cuentas con el mismo email). Dentro del formulario hay un input oculto donde genero un codigo aleatorio y lo inserta en su registro ($set_password). Cuando le envio el mail, el link contiene esta variable: <a href='activar_nueva_password.php?set_password='$se t_password'></a>

2. Cuando llega a la pagina de nueva contraseña, recojo la variable $set_password por $_GET y compruebo que: a) el id_usuario coincide el $set_password, enviado. Si coincide dejo

3. Una vez compruebo todo lo anterior, introduce una nueva password y lo redirecciono a su zona privada.

Espero que te sirva. Saludos
  #10 (permalink)  
Antiguo 05/11/2009, 12:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Usuario no activa la cuenta por email

Yo no envio la contraseña al futuro usuario, ya que el debe de saberla, puesto que é fue quien la creó. Lo que le envio en el email es un link con un string compuesto por numeros y letras montado aleatoriamente, este a su vez lo he guardo en la bd. Si antes de 5 días usa ese link y es correcto arreglo a su nombre de usuario, lo redirecciono a la página de logeo para que entre en el sistema como usuario registrado. En el caso de recuperación de contraseña, hago exactamente lo mismo
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 05/11/2009, 13:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Respuesta: Usuario no activa la cuenta por email

Un último apunte:

utilizais el mismo campo en la tabla ( el de guardar el código aleatorio que se envia con el email de validación ) para validar el registro y la contraseña?

Digo esto, porque podría darse el caso de que si el usuario se da de alta y todavía no ha confirmado su registro, existe un campo en la base de datos ( por ejemplo authentication_key_register ) que vale 'XXXXXXXXXX' y si el usario en ese estado ( no validado ) olvida la contraseña y pide una nueva necesitariamos otro campo para guardar la segunda clave de validación ( authentication_key_pwd = 'YYYYYYYYYYY' ). ¿Estoy en lo cierto? Esto suponiendo, que el usuario pueda acceder a la web sin que todavía haya confirmado el email de registro.

¿Vosotros dais la opción de poder acceder sin haver confirmado el registro?

Espero que con este par de cosas me queda ya todo más que claro para empezar a implementarlo

Muchas grácias de antemano!!
  #12 (permalink)  
Antiguo 09/11/2009, 04:01
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Usuario no activa la cuenta por email

el usuario primero debe activar su cuenta antes de poder solicitar la nueva contraseña en caso de haberla olvidado.
  #13 (permalink)  
Antiguo 09/11/2009, 08:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Usuario no activa la cuenta por email

Lo tengo todo claro ahora!!

Muchisimas grácias por vuestra ayuda!!

Ya os comentaré como queda todo!!
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

SíEste tema le ha gustado a 1 personas




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