Aller au contenu

[PHP] Vérification de cookies


njoyard

Messages recommandés

Re-salut!

Bon après mon pb de craquage de serveur j'ai toujours un problème.... J'ai fait une page pour checker les cookies, qui marche très bien sous firefox mais pas dans IE, où la page se recharge indéfiniment... Je comprends pas pourquoi, voici (en gros) le code de la page:

<?php
 if (isset($checked))
   {
   if (isset($_COOKIE["test"]))
     // cookies ok, traitement normal
   else
     // pas de cookies, message d'avertissement
   }
 else
   {
   setcookie("test","test",time()+3600*24*365);
   echo "<meta http-equiv='refresh' content='0;page.php?checked=1'>";
   }
?>

Une idée ?

EDIT: y'a du mieux... j'ai remplacé

<meta http-equiv='refresh' content='0;page.php?checked=1'>

par :

<meta http-equiv='refresh' content='0;url=page.php?checked=1'>

et là il recharge plus indéfiniment... Mais il me met le message "cookies desactiivés" dans tous les cas, qu'ils soient effectivement activés ou non ! Y'a-t-il des trucs en plus à respecter dans setcookie() pour qu'IE le comprenne ??? Ou voyez-vous un autre problème ?

Lien vers le commentaire
Partager sur d’autres sites

visiblement, IE ne va pas a l'adresse indiquée. le probleme vient donc de "page.php?checked=1" puisque en le supprimant, d'autres navigateurs ont le même probleme.

mais je ne vois pas l'utilité de tn truc ... si tu mets :

   if (isset($_COOKIE["test"]))
    // cookies ok, traitement normal
  else
       {
  setcookie("test","test",time()+3600*24*365);
    // pas de cookies, message d'avertissement
  }

, tu ne devras pas passer par le meta

Lien vers le commentaire
Partager sur d’autres sites

non, parce que si je fais ça et que les cookies sont ACTIVES chez l'user mais n'ont pas été testés, j'aurai un message d'avertissement...

car si isset($_COOKIES["test"]) est faux ca veut dire que soit l'user a désactivé les cookies, soit les cookies n'ont pas encore été testés, d'ou l'utilité du meta... Ce que je veux dire c'est que quand tu fais setcookie(machins) dans un script, les cookies vont dans les headers HTTP, du coup si tu veux récup la *nouvelle* valeur du cookie dans le même script tu peux pas, d'ou le meta qui rafraichit...

si vous voyez un autre moyen de faire ça sans meta, je veux bien... Mais perso je vois pas comment faire sans. Ou alors "s'arranger" pour qu'une autre page du site remplisse le cookie avant, mais si un user va directement sur mon script ça buggera...

le problème c'est semble-t-il que IE ne prend pas du tout en compte les paramètres de la page dans le refresh.... Je lui mets <meta http-equiv='refresh' content='0;url=page.php?checked=1'> mais il rafraichit sur "page.php" tout court...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...