Foros del Web » Programando para Internet » PHP »

Internet Explorer 7 y sessiones será BUG?

Estas en el tema de Internet Explorer 7 y sessiones será BUG? en el foro de PHP en Foros del Web. Hola gente... este post está enfocado a gente que como yo esten usando el IE 7, hace un rato estuve trabajando con PHP las sessiones ...
  #1 (permalink)  
Antiguo 10/11/2006, 06:44
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Chile
Mensajes: 156
Antigüedad: 19 años, 7 meses
Puntos: 0
Internet Explorer 7 y sessiones será BUG?

Hola gente... este post está enfocado a gente que como yo esten usando el IE 7, hace un rato estuve trabajando con PHP las sessiones y como ustedes sabran el IE 7 tiene un manejo por TABS o SOLAPAS para ir abriendo paginas nuevas, la cosa es que cuando uno cierra la solapa de la pagina que contiene la session, ésta no se destruye, se mantiene y si desde otra TAB ingreso a un área restringida de la web, la toma como correcta ya que hay una session dando vueltas...

que creen ustedes??? es un BUG??? o estará pensados asi por Microsoft?



Saludos..


Y ahora que me acordé hice lo mismo con Mozilla FireFox 2.0 y pasa exáctamente lo mismo... raro no?

Última edición por guiweb; 10/11/2006 a las 07:20
  #2 (permalink)  
Antiguo 10/11/2006, 08:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La solución pasa por regenerar el ID de sesión si todaviá está en curso.

Una propuesta:

Cita:
cbarnes at bfinity dot net
09-May-2005 09:44
Note that Firefox and Mozilla use the same process for launching new windows or tabs, they will pick up the same session id as the previous windows until the parent process dies or is closed. This may cause undesired results if the session id is stored in a db and checked, a solution is to check at the new entry point (new tab or window if the user went back to the index page) for an existing session. If a session id exists and a new one is required use something like:

Código PHP:
$ses_id session_id();
$bsid_exists false;
$bsid_exists check_session_id_from_db($ses_id);
 if (
$bsid_exists){
 
//This is a reentry and the session already exists
 // create a new session ID and start a new
session_regenerate_id();        
$ses_id session_id();
 } 
Esta función que menciona el código:
check_session_id_from_db($ses_id);

Se basa en que tu ingresarías cada sesión abierta por un "login" supuesto en una BBDD (tal vez asociado simplemente a un dato más del login del usuario) .. posteriormente en cada login que hagas .. chequeas ese ID en tu BBDD si existe para regenerarlo (session_regenerate_id())

Por mi parte estoy probando el tema ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 05:10.