Lun Ago 28, 2006 9:49 am
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
| Consulta quizá un poco extraña |
|
|
Hola:
Estoy haciendo una aplicación web, y necesito hacer algo parecido al mail de confirmación que realizan los foros.
Al suscribirse en algunos foros, se envia un mail de confirmación de la cuenta creada, en la que te pide hacer click en un link, que al parecer tiene un montón de datos cifrados.
Queria preguntar como se hace este tipo de confirmación. Los datos corresponden a una forma get o post cifrada?. o es una dirección de un cgi cifrada? Como realizo este cifrado?
Gracias |
|
|
|

Lun Ago 28, 2006 10:36 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
|
|
|
|
|
Hola:
Normalmente como se hace, es que tu guardas los datos del usuario como inactivo, entonces cada usuario va a tener un id. Al mandar el mail mandas la liga para activarlo y pasas el id del usuario en el url, por ejemplo:
http://tusitio.com/activar.cgi?sid=32686482
Ya es tu desición si quieres hacer encriptación del id.
Saludos |
|

Lun Ago 28, 2006 10:42 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
|
Seguramente te refieres a una cadena md5.
El proceso que hacen es el siguiente:
* Después de recibir los datos del usuario, se crea una cadena de texto compuesto con el nombre del usuario, algún dato privado más y una cadena que sólamente tu como administrador sabes.
* De esa cadena se calcula su md5.
* Se crea un fichero temporal que tenga justo ese nombre (esto no tiene porqué ser así. Realmente este paso se tiene que referir al hecho de que tu programa debe ser capaz de localizar a qué usuario se refiere cuando alguien solicita esa URL, por lo que en vez de ser un fichero temporal, podría ser un fichero de sessión hecho con CGI::Session, por ejemplo). Dentro del fichero temporal, guardamos el identificador del usuario en la base de datos.
* Emitimos el correo electrónico al usuario.
* Si el usuario recibe el correo, al pulsar sobre el enlace estará ejecutando otro de nuestros programas, que recuperará el fichero temporal y de ahí se sabe qué usuario ha confirmado su correo.
* Si coincide una nueva construcción md5 de los mismos componentes con el md5 que se envió al usuario, entonces estaremos seguros de que es la misma persona que ha recibido el correo.
Un ejemplo:
| Código: |
explorer@casa:~> perl -le 'use Digest::MD5 "md5_hex"; print uc md5_hex("JoaquinFerrero:6754:mi frase secreta")'
E63969D53318E72592F5DDD76FE1CAE0 |
Hay más variantes, desde luego. Se usa md5 por ser muy 'aleatoria' en su presentación.
Ultima edición por explorer el Jue Oct 12, 2006 11:20 am, editado 1 vez |
|

Mar Ago 29, 2006 7:19 am
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
|
|
|
Muchas Gracias!!!
Intentaré implementar sus sugerencias... |
|
Mar Ago 29, 2006 7:27 am
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
|
|
|
A, una cosa más, a que te refieres con un fichero de sesion?
Gracias |
|
Mar Ago 29, 2006 8:35 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
|
| Un fichero temporal que existe mientras un usuario mantenga una sesión con nuestro servidor. |
|
Mar Ago 29, 2006 8:42 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
|
|
|
|
|
Hola:
En Perl hay unos módulos que te hacen la vida sencilla en cuanto al manejo de sesiones, aquí te dejo los links dé algunos. Te recomiendo que hagas uso de alguno de ellos si optas por realizar sesiones:
CGI::Session
Apache::Session
Saludos |
|
Powered by phpBB © 2001, 2005 phpBB Group
|