Je me demande si je peux supprimer tous les cookies de mon site Web lorsqu'un utilisateur clique sur la déconnexion, car j'ai utilisé cette fonction pour supprimer les cookies mais cela ne fonctionne pas correctement:
setcookie("user",false);
Existe-t-il un moyen de supprimer les cookies d'un domaine en PHP?
Réponses:
Setcookie PHP ()
Tiré de cette page, cela supprimera tous les cookies de votre domaine:
http://www.php.net/manual/en/function.setcookie.php#73484
la source
HTTP_COOKIE
valeur serait mieux que de parcourir le$_COOKIE
tableau. Avez-vous une raison à cela? Pour moi, cela ne ressemble qu'à plus de (double) travail pour l'analyseur.Le mieux est cependant de se souvenir (ou de le stocker quelque part) quels cookies sont définis avec votre application sur un domaine et de les supprimer directement.
De cette façon, vous pouvez être sûr de supprimer toutes les valeurs correctement.
la source
setcookie( $key, FALSE );
?! (voir Notes scetion sur php.net/manual/en/function.setcookie.php )/
vous vous êtes placésetcookie
?/
est le chemin du cookie. Vous devez le configurer pour pouvoir supprimer les cookies du domaine, sinon il est défini sur le chemin actuel et affecte uniquement ceux qui sont définis pour le chemin actuel.Je suis d'accord avec certaines des réponses ci-dessus. Je recommanderais simplement de remplacer "time () - 1000" par "1". Une valeur de «1» signifie le 1er janvier 1970, ce qui garantit l'expiration de 100%. Par conséquent:
la source
assurez-vous d'appeler votre fonction setcookie avant toute sortie sur votre site.
De plus, si vos utilisateurs se déconnectent, vous devez également supprimer / invalider leurs variables de session.
la source
Lorsque vous modifiez le nom de vos cookies, vous pouvez également vouloir supprimer tous les cookies mais en conserver un:
Également basé sur cette réponse PHP
la source
Les réponses fournies n'ont pas résolu mon problème,
Il n'a pas:
Mon script le fait, vous voyez.
Ce n'est pas la solution la plus jolie / la plus sûre / la plus optimale, alors utilisez-la uniquement si vous ne connaissez pas le chemin du cookie et / ou le domaine du cookie. Ou utilisez l'idée pour créer votre version.
la source
Vous devez être conscient que divers outils de suivi comme Google Analytics utilisent également des cookies sur votre domaine et vous ne souhaitez pas les supprimer, si vous souhaitez avoir des données correctes dans GA.
La seule solution que j'ai pu mettre en œuvre était de définir les cookies existants sur null. Je n'ai pas pu supprimer les cookies du client.
Donc, pour déconnecter un utilisateur, j'utilise ce qui suit:
Bien sûr, cela ne supprime pas TOUS les cookies.
la source
0
argument signifie que le cookie n'est même pas chiffré en transit.Toutes les réponses précédentes ont oublié que l '
setcookie
aurait pu être utilisé avec un domaine explicite. De plus, le cookie peut avoir été défini sur un sous-domaine supérieur, par exemple si vous étiez sur unfoo.bar.tar.com
domaine, il se peut qu'un cookie soit activétar.com
. Par conséquent, vous souhaitez désactiver les cookies pour tous les domaines susceptibles d'avoir déposé le cookie:la source
Utilisez la fonction pour effacer les cookies:
Si vous réussissez,
true
cela efface lessession
données, sinon les données de session sont conservées.la source
Je sais que cette question est ancienne, mais c'est une alternative beaucoup plus simple:
Mais fais attention! Cela effacera TOUS les en-têtes, y compris les cookies, la session, etc., comme expliqué dans la documentation .
la source
la source