Foros del Web » Programación para mayores de 30 ;) » Java »

Dudas con cookies de sesion

Estas en el tema de Dudas con cookies de sesion en el foro de Java en Foros del Web. Hola a todos, tengo una dudilla con las cookies de sesion en jsp, en concreto con la validez de las sesiones. A ver por lo ...
  #1 (permalink)  
Antiguo 09/05/2008, 00:58
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 16 años, 5 meses
Puntos: 0
Dudas con cookies de sesion

Hola a todos, tengo una dudilla con las cookies de sesion en jsp, en concreto con la validez de las sesiones. A ver por lo que he entendido de lo que he estado leyendo, la sesion en el servidor puede tener validez hasta que cierres todas las ventanas de la aplicación o hasta que tu le pongas si le pones un expire. Pero, ¿es independiente la validez de la sesion en el servidor y la validez de la cookie de sesion?
Pregunto ésto porque estoy probando una aplicación que se está desarollando, y estoy intentando ver el fichero de cookie para ver la cookie de sesion almacenada y nunca lo veo, he visto por ahí que es que el fichero de cookies no se guarda en local hasta que no se cierre el navegador, y que las cookies de sesion caducan cuando se cierra el navegador (con lo cual si la única cookie que se envia es la de sesion tiene lógica que no vea ningun fichero e cookie,¿no?) . Pero claro estoy haciendo una prueba de seguridad de la aplicación y intentando acceder a la aplicación con un identificador de sesión que se me había dado en una sesión anterior y la aplicación se lo traga, entra perfectamente, lo cual significa que en el servidor esa sesión aún sigue viva y almacenada en algún objeto, ¿no?.

¿Podría alguien aclarame esas dudillas de si la cookie de sesion nunca se almacena en el fichero de cookies y de si es posible entonces que la cookie de sesion ya no esté disponible para el cliente pero siga teniendo validez en el servidor?

Muchas gracias
  #2 (permalink)  
Antiguo 12/05/2008, 16:08
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 16 años
Puntos: 2
Re: Dudas con cookies de sesion

No entiendo bien el motivo de que quieras usar sesiones de tipo cookie, lo que si te puedo decir es que muchos navagadores deshabilitan la opcion de recibir cookies, si esto sucede por mas que intentes nunca veras el resultado que quieres.

Una sesión dura el tiempo en que esta viva la aplicación en el navegador es decir aunque abras otra ventana seguira viva o si cierras las ventanas mientras no cierres la ventana padre lo mejor que puedes hacer en el uso de sesiones es algo como esto.

Código PHP:
if(session.getAttribute("firma")==null){
                
session=request.getSession(true);
                
session.setAttribute("firma",firma);
}else{
               
session.removeAttribute("firma");
               
session=request.getSession(true);
            
session.setAttribute("firma",firma);    

con esto cada que inicie una aplicacion pregunta si la session existe y la elimina para establecer la nueva con los valores nuevos
  #3 (permalink)  
Antiguo 13/05/2008, 00:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Dudas con cookies de sesion

Efectivamente, las cookies de tipo session nunca se almacenan en disco, ya que como solo "sobreviven" mientras el navegador estes abierto, no hace falta guardarlas en ningun fichero. Las cookies de session estan relacionadas con las sesiones en el servidor, ya que basicamente son un ID de la sesion en el servidor, asi que aunque tu navegador ya no tenga la cookie, la sesion en el servidor puede seguir viva hasta que caduque.

Por eso si cojes un ID de una sesion que todavia este viva en el servidor, puedes acceder a la sesion, eso se conoce como "robo de sesion".

Los IDs de sesion no son correlativos y se les supone suficientemente aleatorios para que no se puedan adivinar. Tampoco se almacenan nunca en disco, asi que en realidad un robo de sesion no es tan sencillo, a no ser que se use un sniffer para el trafico, y para protegerse de eso, si es necesario, se usa HTTPS. Otra posibilidad de facilitar, involuntariamente, el robo de sesion es habiltar el pasar los identificadores como parametro, en caso de no poder usar cookies. Ahi el ID de sesion es parte de la URL y por tanto "se ve" y alguien podria "robarlo", aunque tampoco es cosa facil.

Hay diferentes cosas que se pueden hacer para prevenir el robo de sesiones, usar cookies, hacer que los usuarios hagan un logout, comprobar la IP en cada llamada a la sesion, usar HTTPS... y mejorar la seguridad, y se usan unas u otras dependiendo del nivel de paranoia requerido por nuestra aplicacion.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 01:51.