• Publicidad

Sessiones

¿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.

Sessiones

Notapor Lor » 2005-06-27 05:14 @260

Agradeceria si me pudiesen ayudar en lo siguiente:

Estoy trabajando con el modulo CGI::Session, y utilizo cookies para identificar la session del usuario. Con que metodo realizo el paso de la cookie a los distintos pl que forman parte de la sesion.???

1) Estoy utilizando un print $q->header(-cookie=>$cookie);

2) Tengo en el mismo programa un print Location...... el cual deja de funcionar al colocar la linea 1

3) ¿El Pl que es invocado y que recibe la Cookiee de la sesion ¿Que metodo usa para leerla??


Como veran tengo varios problemas, y he leido bastante sobre que modulos usar para el manejo de sesiones, pero ahun estoy bastante perdida.

Muchas gracias por su respuesta y colaboracion. :)
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Publicidad

Notapor monoswim » 2005-06-27 08:26 @393

Hola Lorena, te comento que la cookie una vez que la mandas correctamente debería funcionarte para todos los .pl del sitio...Te digo lo de correctamente porque hay muchas formas de mandar una cookie al navegador, y depende de como la hayas configurado...Con el Location no deberías tener problemas siempre y cuando sea una página del mismo sitio...

http://perlenespanol.com/archives-tut/000047.html#more

Acá tenés un tutorial que te explica que parámetros podés mandarle a la cookie y a continuación te doy un ejemplo de una cookie que yo usé para trabajar con sesiones y trabaja perfectamente...

print qq~Set-Cookie: usuario=juanito; path=/;\n~;

Esa simple cookie sigue viva mientras el usuario tenga abierto el navegador, y te funciona para todos los scripts que haya en el servidor, puede navegar tranquilamente...

Para leer las cookies lo tenés explicado en el tutorial...

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor Perl user » 2005-06-27 12:15 @552

monoswim escribiste:Hola Lorena, te comento que la cookie una vez que la mandas correctamente debería funcionarte para todos los .pl del sitio...Te digo lo de correctamente porque hay muchas formas de mandar una cookie al navegador, y depende de como la hayas configurado...Con el Location no deberías tener problemas siempre y cuando sea una página del mismo sitio...

http://perlenespanol.com/archives-tut/000047.html#more

Acá tenés un tutorial que te explica que parámetros podés mandarle a la cookie y a continuación te doy un ejemplo de una cookie que yo usé para trabajar con sesiones y trabaja perfectamente...

print qq~Set-Cookie: usuario=juanito; path=/;\n~;

Esa simple cookie sigue viva mientras el usuario tenga abierto el navegador, y te funciona para todos los scripts que haya en el servidor, puede navegar tranquilamente...

Para leer las cookies lo tenés explicado en el tutorial...

Saludos


Bueno, no he checado el tutorial... pero la solución que tiene Lorena es la correcta, y la tuya no es incorrecta, pero no es lo mejor, Tener código "hardcodeado", es decir, poner todo a mano no es lo mejor... si estás usando CGI.pm, por qué no dejar que se encargue de todo, tal como lo hace Lorena? De esa manera es portable y correcto ( y mucho mas sencillo de leer ).

Lorena tu problema radica en que bueno... al establecer la cookie con header(), le estás indicando efectivamente un encabezado HTTP, que contiene aparte de lo demás, la directiva Set-Cookie, por lo tanto al exponer "Location", estas intentando reescribir el header ya antes mandado ( Location es parte del header ), y eso te causa error.

Ahora bien, para "extraer" el valor de una cookie, basta con llamar:
Código: Seleccionar todo
# valor es lo que contiene el atributo -value al establecer la Cookie
$value = cookie( 'valor' );


Esta información y más al respecto la puedes obtener de la página de documentación de CGI.pm en el apartado de HTTP Cookies, y también te recomiendo que cheques el módulo CGI::Cookies.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

sesiones

Notapor Lor » 2005-06-27 13:47 @616

Gracias a todos los que colaboraron en mi respuesta.

Esto va para Perl user El problema que indicas es el correcto en relacion al location, pero como puedo solucionarlo??

Yo si o si necesito utilizar este location para direccionar a uno u otro lado dependiendo del login del usuario.
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Re: sesiones

Notapor Perl user » 2005-06-27 17:41 @778

Lor escribiste:Gracias a todos los que colaboraron en mi respuesta.

Esto va para Perl user El problema que indicas es el correcto en relacion al location, pero como puedo solucionarlo??

Yo si o si necesito utilizar este location para direccionar a uno u otro lado dependiendo del login del usuario.


Ok, endiendo, pero que tiene que ver extraer el valor de una cookie con redireccionar? la única manera en la que podrías contraer error es al generar y establecer una cookie y en ese mismo cgi mandar el redirect.

Normalmente son 2 pasos.... Una pantalla de login, la cual es un formulario hacía tu script que hará la validacion, y si es valido ok te establece la cookie.

Eso si no es que ya tienes la cookie establecida, cierto?

Ahora para verificar si está establecida, solo es necesario con extraer el valor y listo, no necesitas generar un header, ahora bien para el location te recomiendo que uses:
Código: Seleccionar todo
print redirect( uri => "meep" );



Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924


Volver a Intermedio

¿Quién está conectado?

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

cron