2010-07-04 13 views

Respuesta

2

No hay una forma de obtener cuando una cookie se configura para caducar o cualquiera de los otros parámetros que está solicitando mediante PHP. Esto se debe a que PHP no almacena nada de eso, cuando estás configurando una cookie, básicamente estás diciendo que debes mostrar un encabezado al navegador solo una vez, entonces es el trabajo del cliente (un navegador) enviar los datos de la cookie en cada solicitud HTTP. Por lo tanto, PHP no tiene ninguna razón para retener los datos, por lo que no es así.

Por supuesto, puede almacenar cuándo caducará la cookie en otra cookie o en algún otro archivo, si sabe en qué parte de su código se están estableciendo las cookies.

+0

Almacenarlo no es una garantía. El usuario es libre de modificarlo él mismo. –

+0

Si el usuario/cliente no se comporta, la aplicación tampoco debería tener que hacerlo. – Sam152

1

No (definitivamente no con PHP y tampoco creo que puedas hacerlo con Javascript). Pero puede guardar esa información en los datos de la cookie.

A veces se desea tener una cookie válida por un tiempo y también aplicar esa validez en el servidor. Por ejemplo, el cliente usa una cookie para autenticarse y esa cookie tiene una cierta validez (por ejemplo, el usuario debe haber iniciado sesión durante x días). En ese caso, también debe almacenar esa hora en la base de datos y verificarla cuando se proporciona el token de autenticación de cookies. Si no hay alteración, la cookie debe caducar en el momento en que haya grabado en la base de datos (o antes), de lo contrario, las credenciales serán rechazadas de todos modos.

1

Tampoco puede hacerlo desde el lado del cliente. Javascripts document.cookie no hace que el tiempo de caducidad esté disponible. Por lo tanto, una expresión común es establecer cookies complementarias, que contienen la última vez que se actualizaron las cookies. O quizás también desee establecer una cookie para los valores compuestos, p. setcookie("name", "value..|time()") y luego acceda a ella usando strtok($_COOKIE["name"], "|").

Cuestiones relacionadas