Foros del Web » Programando para Internet » ASP Clásico »

Misteriosa variable de sesión

Estas en el tema de Misteriosa variable de sesión en el foro de ASP Clásico en Foros del Web. Amigos, Tengo un misterio que me está quebrando la cabeza a ver si alguien me da una mano. Cuando un usuario hace login (con su ...
  #1 (permalink)  
Antiguo 20/02/2008, 20:44
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Pregunta Misteriosa variable de sesión

Amigos,

Tengo un misterio que me está quebrando la cabeza a ver si alguien me da una mano.

Cuando un usuario hace login (con su email y contraseña), busco varios datos y los almaceno en variables de sesión. Uno de esos datos es el email.

Ahora bien, tengo un script para el manejo de errores que dice así:

Código:
<%
on error resume next

' Si no está logueado el email es anónimo
if session("nombre_contacto") = "" or session("x_email") = "" then
   sender_name  = "Anonimo"
   sender_email = "[email protected]"
Else
   sender_name  = session("nombre_contacto")
   sender_email = session("x_email")
End if

' Cuerpo del email a enviar
body = request.querystring("error")&VBCrlf&"En la página:"&request.QueryString("UrlRedireccion")

' Función para enviar correos con CDO. En este caso pone como Sender al usuario para responderle directamente una vez resuelto el problema.
call envia_correo (sender_name , sender_email, "[email protected]", "Ha ocurrido un error temporal en el sistema", "Equipo de Soporte, " &VBCrlf& "Ha ocurrido el siguiente error en el sistema: " &VBCrlf& body,"N")


%>

Bueno, hoy me llegó un mensaje de estos reportandome una falla en la aplicación, remitida desde una dirección gmail.com. Luego de descubrir el error, le respondo al cliente y luego me doy cuenta de que su dirección NO ESTÁ EN MI BASE DE DATOS!...

Si no está en mi base de datos, no pudo hacer login. Si no pudo hacer login, la variable session("x_email") no podría tener valor alguno. Si no tenía valor alguno, el correo debió llegar desde anónimo... ¿me siguen?

Luego de escudriñar en la base de datos, me doy cuenta de que el usuario existe, pero con otro email Lo supe por la IP, el nombre y otros datos..

Ahora bien...es posible que el usuario estuviese conectado en mi aplicación con su cuenta (con un correo hotmail) y por otro lado revisando el correo en gmail (en otra pestaña del navegador por ejemplo) y se mezclaron las variables de session?????

Necesito luz....ugoldman...¿donde andás?

Saludos y gracias,
Luis
  #2 (permalink)  
Antiguo 21/02/2008, 08:35
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Misteriosa variable de sesión

Cita:
Necesito luz....ugoldman...¿donde andás?
La última vez que lo vi estaba paseando en ropa interior en estado inconveniente cantando el himno nacional ruso, es decir, adelantándose un poco al comportamiento normal de todos los viernes

Sobre tu duda si es posible que se haya hecho lo que dices, definitivamente no, no se pueden mezclar las variable de sesión de dos sites distintos. Lo que creo que pasó es que se logueó con un correo y luego cambió sus datos (supongo le permites actualizar su ficha de identificación) dentro de esa misma sesión y no le actualizaste el valor a la variable que guarda el email. Si tienes un campo (TimeStamp) donde guardes la fecha/hora de la ultima modificación, o una tabla bitácora, podrías darte cuenta de ello.

Saludos
  #3 (permalink)  
Antiguo 21/02/2008, 11:50
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: Misteriosa variable de sesión

Cita:
Iniciado por Myakire Ver Mensaje
La última vez que lo vi estaba paseando en ropa interior en estado inconveniente cantando el himno nacional ruso, es decir, adelantándose un poco al comportamiento normal de todos los viernes

Sobre tu duda si es posible que se haya hecho lo que dices, definitivamente no, no se pueden mezclar las variable de sesión de dos sites distintos. Lo que creo que pasó es que se logueó con un correo y luego cambió sus datos (supongo le permites actualizar su ficha de identificación) dentro de esa misma sesión y no le actualizaste el valor a la variable que guarda el email. Si tienes un campo (TimeStamp) donde guardes la fecha/hora de la ultima modificación, o una tabla bitácora, podrías darte cuenta de ello.

Saludos
Hey...excelente respuesta...! Gracias.

Debe ser exactamente lo que dices...el usuario modificó su correo, pero la variable de session tenía el valor anterior...me has dado un gran alivio...ahora podré dormir con un ojo abierto (y no con ambos).

En cuanto a Ugoldman, sería conveniente sugerirle que apague la webcam a partir del miercoles y vuelva a encenderla los lunes..

Saludos,
Luis
  #4 (permalink)  
Antiguo 21/02/2008, 15:44
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Misteriosa variable de sesión

jeje, le que quedado esa costumbre de cuando trabajaba en eso del gran hermano, pero esperemos que si lo haga

No olvides modificar tu programa para actualizar la sesión cuando modifique sus datos.

Salud! 2
  #5 (permalink)  
Antiguo 23/02/2008, 13:11
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: Misteriosa variable de sesión

Gracias Myakire,

Ya realicé la modificación y funcionó perfecto...!

Sin embargo, tengo otro problema con variables de session que tampoco me dan las neuronas para resolver:

Uso 3 formularios para cargar un registro en la B/D. Cada formulario es un paso del proceso y el formulario 3 es que hace el insert en la B/D. Los datos del formularios 1 y 2 los guardo en variables de session para evitarme los "QueryString".

Esto funciona perfectamente cuando el proceso se realiza sin dejar la página inactiva por el tiempo necesario para que expire la session del usuarios.

Ahora bien, "Teoricamente" si está en un paso y deja expirar la sesión, al pasar al paso siguiente debe enviarlo a la página de "login".

El problema es que la variable de sesión que indica que el usuario está "logueado" no se pierde al mismo tiempo que las otras. La página lo deja pasar y luego ocurre el error en el insert porque faltan datos...las variables de los formularios se perdieron, pero no la variable de "login" ¿es eso posible??

Saludos y de nuevo mil gracias por tu ayuda,
Luis

Última edición por luisvasquez; 23/02/2008 a las 13:47 Razón: corregir omisión...
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 23:13.