2010-03-03 10 views
5

Supongamos que tengo un script PHP que crea una cookie que caduca dentro de 10 días. ¿Hay alguna forma de usar PHP para actualizar el valor y mantener la misma fecha de vencimiento?¿Es posible cambiar el valor de una cookie y dejar la misma fecha de vencimiento en PHP?

Por ejemplo, digamos que mi cookie se creó hoy con un valor de "foo" y vence el 13/03/10. En dos días a partir de ahora, quiero cambiar el valor a "barra". ¿Todavía puedo hacer que la cookie caduque el día 13 o me veo obligado a caducar la cookie inmediatamente o extenderla otros 10 días?

Respuesta

2

No es posible.

Si examina la especificación HTTP (o mira los encabezados HTTP usando Firebug), verá que el navegador no envía la fecha de caducidad al servidor, solo el nombre y el valor.

Una manera de hacer esto (estoy seguro de que hay mejores maneras) es fijar otra galleta para almacenar la fecha de vencimiento original ...

1

Bueno, teniendo en cuenta que en realidad no es posible acceder a la fecha de expiración del la cookie en sí misma, no veo cómo podría saber cuándo expira para establecer esa fecha de vencimiento nuevamente. Supongo que podría establecer otra variable de cookie que contenga la fecha de vencimiento y luego, cuando cambie las cookies, establezca la fecha de caducidad nuevamente, pero un usuario podría simplemente cambiarla para que caduque en años.

0

Imposible.

Además, es una muy mala práctica confiar en la fecha de caducidad de la cookie. Si tiene ciertas restricciones sobre su uso, guárdelas en la base de datos y use una cookie solo para identificar a un usuario en particular.

Cuestiones relacionadas