PHP - Problemas con las sesiones y IE

 
Vista:

Problemas con las sesiones y IE

Publicado por Rafa (1 intervención) el 11/11/2005 12:21:13
Hola,

nos hemos encontrado con un serio problema en nuestra aplicación, resulta que estamos utilizando una sesión para almacenar ciertos datos, pues bien el contenido de la sesión se puede recuperar perfectamente con Firefox pero NO es posible recuperar nada con Internet Explorer.

La cuestión es que conocemos la causa de este problema:
Para propagar el SESSION_ID estamos utilizando la directiva "session.use_cookies" que hace que PHP almacene automáticamente el número usando una cookie.
Bien, pues nosotros tenemos definido ademas un TimeOut de 5 minutos para dicha cookie usando la directiva session.cookie_lifetime = 300.

Lógicamente el servidor calcula el tiempo de caducidad de la cookie en base a LA HORA DEL SERVIDOR por lo que si la sesión se creó a las 13:20, se fijará el parámetro "expire" de la cookie a las 13:25.

Pero claro, desde el navegador la hora de caducidad se compora con la hora local del PC cliente con lo que si el tipo en cuestión tiene la hora retrasada a las 13:30 la cookie no llegará a generarse.

He visto que Firefox INGENIOSAMENTE cambia esta valor basándose en las horas del servidor de forma que cuadren con la hora que tenga el cliente (sea la que sea) pero este inteligente truco no lo hace Internet Explorer entre otras cosas porque en ningún sitio se documenta que se deba hacer asi.

En algunos sitios me comentan que avise a los clientes para que tengan la hora y la fecha lo más ajustada posible al servidor pero... ¿que pasa con los clientes de otros paises que tienen por fuerza otras franjas horarias?

También me comentan que deshabilite la propagación automática del SESSION_ID y los substituya por un sistema propio pero yo me pregunto... ¿que sentido tiene entónces la propagación por este método? ¿acaso la propagación del session_id solo esta garantizada cuando session.cookie_lifetime es igual a CERO?

Por favor, si alguien conoce una solución le ruego que la exponga aqui.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder