• Publicidad

Consulta quizá un poco extraña

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Consulta quizá un poco extraña

Notapor purrutia » 2006-08-28 10:49 @492

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
purrutia
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2006-07-24 14:32 @647

Publicidad

Notapor kidd » 2006-08-28 11:36 @525

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
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor explorer » 2006-08-28 11:42 @529

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: Seleccionar todo
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.
Última edición por explorer el 2006-10-12 12:20 @556, editado 1 vez en total
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor purrutia » 2006-08-29 08:19 @388

Muchas Gracias!!!

Intentaré implementar sus sugerencias...
purrutia
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2006-07-24 14:32 @647

Notapor purrutia » 2006-08-29 08:27 @393

A, una cosa más, a que te refieres con un fichero de sesion?


Gracias
purrutia
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2006-07-24 14:32 @647

Notapor explorer » 2006-08-29 09:35 @441

Un fichero temporal que existe mientras un usuario mantenga una sesión con nuestro servidor.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kidd » 2006-08-29 09:42 @446

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
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados

cron