Foros del Web » Programando para Internet » PHP »

Registro basada en email

Estas en el tema de Registro basada en email en el foro de PHP en Foros del Web. Hola a todos. Si alguien conoce un manual o tutorial sobre la implementación de ristro de usuarios basa en email, que tenga las siguientes caracteristicas: ...
  #1 (permalink)  
Antiguo 18/03/2006, 11:51
 
Fecha de Ingreso: diciembre-2004
Mensajes: 207
Antigüedad: 13 años
Puntos: 0
Registro basada en email

Hola a todos.
Si alguien conoce un manual o tutorial sobre la implementación de ristro de usuarios basa en email, que tenga las siguientes caracteristicas:

- Luego de llenar los datos de un formulario, al momento de enviar estos datos, le pida una confirmación del registro al email puesto en el formulario.

- Mientras no confirma el registro la cuenta está inactiva y que tenga un plazo de 24 horas para confirmar o la cuenta se borrará.

- Si se olvido su contraseña, que genere uno aleatorio y lo reemplaze al existente en la bas de datos y que tambien se lo envie a su email registrado.

Espero puedan ayudarme.
  #2 (permalink)  
Antiguo 18/03/2006, 17:32
Avatar de kokecola2k2  
Fecha de Ingreso: febrero-2004
Mensajes: 130
Antigüedad: 13 años, 9 meses
Puntos: 0
simple, metes el usuario con un campo "activado" y le pones "no" o "0" o lo que quieras, y que se mande un email a la hora de registrarse con el enlace a tudomino.com/lapaginaquevaaactivarlacuenta.php?usuario=elnickus uario&contraseña=lacontraseña&aleatorio=unnumeroal eatorioquesemeteenlabdcuandoseregistra
lo de el numero aleatorio es para mas seguridad, ya que si esta persona entiende algo puede darse cuenta q poniendo la url con el usuario y la contraseña lo podrá activar, pero tampoco sería ningun problema...

despues le llega el email con la url, donde hace clic, y si el usuario y la contraseña coinciden, que haga un update a ese usuario cambiando el campo activiado a "si" o a "1"...

lo de las 24 horas... creo que se puede hacer para que sea automatico, pero eso no sé, lo que se es una pagina que tu abras manualmente... y que si hace 1 dia que se registro pues que se borren esos usuarios... (si alguien dice como se hace automaticamente tambien me serviria a mi, ya que yo lo hago a mano, con una pagina donde me salen los usuarios no activados, con la fecha de registro, y los borro a mano)

Lo de la contraseña perdida sería igual q el registro, una pagina donde al mandarlo un usuario se meta en la bd un numero aleatorio y se mande el email, si el usuario, contraseña y numero aleatorio coinciden (está claro que el aleatorio se mete en la bd y nadie lo sabe, y si la persona que pide el cambio de contraseña no es la verdadera, email llega al correo de la persona de verdad y no podrá cambiarla (de eso se trata este sistema)). Asi que le llegara el email con los datos y el numero aleatorio, y si le da al enlace que le llega por email y comprueba q los datos son correctos, cambiará la contraseña por una aleatoria y se la mandará por email, ya que si la contraseña esta encriptada no podrá recordarsela, sino solo que la cambie.

Última edición por kokecola2k2; 18/03/2006 a las 17:42
  #3 (permalink)  
Antiguo 18/03/2006, 18:29
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Una sola observación a la solución de kokecola2k2: yo no enviaría por la url el nick y la contraseña, como el usuario esté en una red local con algún sniffer, le pillan los datos de acceso. En vez de eso creo que basta con enviar la id de usuario y el número aleatorio.
  #4 (permalink)  
Antiguo 18/03/2006, 19:06
Avatar de kokecola2k2  
Fecha de Ingreso: febrero-2004
Mensajes: 130
Antigüedad: 13 años, 9 meses
Puntos: 0
bueno, si se utiliza el nº aleatorio si, ya que sobraría la contraseña, y así hay más seguridad (yo la mando ya que la encripto con md5, y lo de el numero aleatorio lo pensé y lo puse despues) ;)
  #5 (permalink)  
Antiguo 18/03/2006, 19:13
 
Fecha de Ingreso: diciembre-2004
Mensajes: 207
Antigüedad: 13 años
Puntos: 0
Gracias amigos por responder, ahora mi pregunta sobre la generacion del número aleatorio, con que scrip o en que momento lo hago, al momento de enviar el email y también lo guardo en la base de datos?
  #6 (permalink)  
Antiguo 18/03/2006, 21:58
Avatar de kokecola2k2  
Fecha de Ingreso: febrero-2004
Mensajes: 130
Antigüedad: 13 años, 9 meses
Puntos: 0
para obtener un numero aleatorio simplemente hay que poner esto:

$aleatorio = rand(entre-este-numero,hasta-este-numero);

ejemplo

$aleatorio = rand(1,10); --> La variable $aleatorio cogeria aleatoriamente un numero entre 1 y 10 (ambos incluidos, creo)

Asi que cuando se registre alguien, creas esa variable, que metes en la bd, y que utilizas para el enlace que mandas por email que incluye este numero
  #7 (permalink)  
Antiguo 19/03/2006, 06:49
 
Fecha de Ingreso: diciembre-2004
Mensajes: 207
Antigüedad: 13 años
Puntos: 0
Gracias nuevamente kokecola2k2, y al resto que apoyan este foro.
Ahora mi consulta es pora poder generar esos numeros aleatorio, pero que incluyan letras, así por ejemplo: k54y1jk6mg9, existe alguna forma?, pues stuve revisando sobre "rand" y solo me genera números.
  #8 (permalink)  
Antiguo 19/03/2006, 06:55
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Código:
// Generar un código alfanumérico
$n_caracteres = 11;
$codigo = "";
for ($i = 0; $i < $n_caracteres; $i++) {
	do {
		srand((double)microtime()*1000000);
		$c = rand(48, 122);
	} while (($c > 57 && $c < 65) || ($c > 90 && $c < 97));
	$codigo .= chr($c);
}
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 13:51.