2009-05-11 13 views
6

¿Alguien puede secuestrar (a través de js) la cookie de formularios asp.net y cambiar la fecha de caducidad?¿Alguien puede secuestrar (a través de js) la cookie de formularios asp.net y cambiar la fecha de caducidad?

¿Qué puede impedir que lo agarren y cambien la fecha de caducidad? es decir, ¿dejar que el usuario permanezca conectado?

actualización

¿El marco .NET forma de autenticación. cookie confía en la fecha de caducidad de la cookie o encierra eso?

Respuesta

0

bien no está seguro acerca de JavaScript, pero puede hacerlo utilizando Cookie Editor add on Fire Fox de

cifrarlo

establece un indicador adicional de la fecha dentro del lado del servidor que la pista de galletas

1

.

2

Las cookies son almacenadas por el cliente, no puede confiar en que no cambien.

Hay extensiones para Firefox que le permiten editar cookies, incluidas las fechas de caducidad. Si quiere que los obligue a caducar, debe hacer un seguimiento de ellos también del servidor y caducarlos allí.

0

Si desea evitar esto, elimine la fecha de caducidad en el valor de la cookie. Luego, cuando recupera la cookie, si la fecha de caducidad del hash no coincide con la fecha de caducidad del texto sin formato, deseche la cookie.

5

Hay algunas cosas que puede hacer para mejorar la situación.

En web.config, establezca protection = "All" para la cookie: http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx. Esto cifrará y validará, por lo que es más difícil hackear el lado del cliente.

Además, las cookies pueden tener httpOnly establecido en verdadero. Esto le dice al navegador que la cookie no puede ser manipulada en javascript.

El < forma el elemento > en web.config también tiene una configuración para el tiempo de espera (ver enlace arriba). Es posible que la implementación de Microsoft sea lo suficientemente inteligente como para no depender únicamente de la cookie, pero no lo sé.

Los otros comentarios son correctos de que nunca se debe confiar en el cliente. Entonces, para ser hermético, querrá seguir el "último inicio de sesión" en el servidor y forzar un nuevo inicio de sesión después de un período de tiempo.

1

A través de JS (JavaScript) no es posible, al menos no en un navegador que respeta el atributo HttpOnly que ASP.NET establece para la cookie Forms.

Cuestiones relacionadas