Me pregunto si puedo eliminar todas las cookies de mi sitio web cuando un usuario hace clic en cerrar sesión, porque usé esto como función para eliminar las cookies pero no funciona correctamente:
setcookie("user",false);
¿Existe alguna forma de eliminar las cookies de un dominio en PHP?
Respuestas:
PHP setcookie ()
Tomado de esa página, esto deshabilitará todas las cookies de su dominio:
http://www.php.net/manual/en/function.setcookie.php#73484
fuente
HTTP_COOKIE
valor sería mejor que recorrer la$_COOKIE
matriz. ¿Tiene alguna razón para eso? Para mí, solo parece más trabajo (doble) para el analizador.Sin embargo, aún mejor es recordar (o almacenarlo en algún lugar) qué cookies están configuradas con su aplicación en un dominio y eliminarlas directamente.
De esa manera, puede estar seguro de eliminar todos los valores correctamente.
fuente
setcookie( $key, FALSE );
? (ver Notas en php.net/manual/en/function.setcookie.php )/
que se colocósetcookie
?/
es la ruta de cookies. Debe configurarlo para que pueda eliminar las cookies del dominio; de lo contrario, se establece en la ruta actual y solo afecta a las que están configuradas para la ruta actual.Estoy de acuerdo con algunas de las respuestas anteriores. Solo recomendaría reemplazar "time () - 1000" por "1". Un valor de "1" significa el 1 de enero de 1970, lo que garantiza un vencimiento del 100%. Por lo tanto:
fuente
asegúrese de llamar a su función setcookie antes de que ocurra cualquier salida en su sitio.
Además, si sus usuarios están cerrando la sesión, también debe eliminar / invalidar sus variables de sesión.
fuente
Cuando cambia el nombre de sus cookies, es posible que también desee eliminar todas las cookies, pero conservar una:
También basado en esta respuesta PHP
fuente
Las respuestas proporcionadas no resolvieron mi problema,
No lo hizo:
Mi guión lo hace, ¿ves?
No es la solución más bonita / segura / óptima, así que utilícela solo si no conoce la ruta de las cookies y / o los dominios de las cookies. O usa la idea para crear tu versión.
fuente
Debe tener en cuenta que varias herramientas de seguimiento, como Google Analytics, también usan cookies en su dominio y no desea eliminarlas, si desea tener datos correctos en GA.
La única solución que pude hacer fue establecer las cookies existentes en nulo. No pude borrar las cookies del cliente.
Entonces, para cerrar la sesión de un usuario, uso lo siguiente:
Por supuesto, esto no elimina TODAS las cookies.
fuente
0
argumento significa que la cookie ni siquiera está encriptada en tránsito.Todas las respuestas anteriores han pasado por alto que
setcookie
podría haberse utilizado con un dominio explícito. Además, es posible que la cookie se haya configurado en un subdominio superior, por ejemplo, si usted estaba en unfoo.bar.tar.com
dominio, podría haber una cookie configuradatar.com
. Por lo tanto, desea deshabilitar las cookies para todos los dominios que podrían haber eliminado la cookie:fuente
Utilice la función para borrar las cookies:
Si pasa
true
, borra lossession
datos; de lo contrario, los datos de la sesión se conservan.fuente
Sé que esta pregunta es antigua, pero esta es una alternativa mucho más fácil:
¡Pero ten cuidado! Borrará TODOS los encabezados, incluidas las cookies, la sesión, etc., como se explica en los documentos .
fuente
fuente