Tester l'existence d'un cookie pour un domaine

WRInaute passionné
Bonjour,

Voilà je dois vérifier si le membre s'est bien identifié sur le forum de mon site, afin d'afficher une page ailleurs dans le site. Donc je vais vérifier si le cookie créé lors de l'identification sur le forum existe.

Le cookie se présente comme ça, quand je regarde dans outil>option>afficher les cookies

Code:
Nom : member_id
Contenu : 107
Domaine : .monsite.com
Chemin : /
Envoi pour : Tout type de connection
Expire le : mardi 2 février 2010

Donc là je pourrais faire ça je pense :
Code:
if( isset( $_COOKIE[ member_id() ] ) )
{
instruction
}

Le problème, me dis-je, est que plusieurs cookies en provenance d'autres sites peuvent être présents dans le navigateur du client et qu'ils peuvent comporter eux-aussi une variable $_COOKIE[member_id()]. Auquel cas, l'instruction risque d'être exécutée alors même que le client ne s'est jamais identifié sur mon site.

Par conséquent, comment vérifier que la variable $_COOKIE[member_id()] présente dans le navigateur du client a bien été créée suite à une identification sur le forum de mon site internet ?

Je pense qu'il faudrait faire un test sur la variable domaine. Mais je ne vois pas comment faire.

J'espère que je suis clair.

Merci d'avance :)
 
WRInaute passionné
si je ne dis pas de betise tu ne peux pas lire les cookies d'un autre domaine (imagine les problemes de securité!) donc avec ton simple test de lecture, ton $_COOKIE[member_id()] ne devrait pas prendre en compte les domaines autres que le tiens.
 
WRInaute passionné
Je m'étais dis ça dans un coin de la tête. Si c'est bien le cas, ça simplifierait le problème... Quelqu'un confirme :?:
 
WRInaute accro
C'est aussi la principale fonction du cookie, le premier truc que t'es sensé savoir sur les cookies ;) Un bête tuto comme tu en trouves partout te l'aurait dit.
 
WRInaute passionné
A moins que tu sois malveillant avec toi-meme :)
Le navigateur ne peut renvoyer les données qu'au serveur ayant créé le cookie. Toutefois, des utilisateurs malveillants peuvent accéder aux cookies et lire leur contenu. Ne stockez pas d'informations sensibles, telles qu'un nom d'utilisateur ou un mot de passe, dans un cookie. Stockez plutôt un jeton que vous pouvez utiliser pour rechercher les informations sensibles sur le serveur. En outre, les cookies pouvant être falsifiés, toutes les données qu'ils contiennent doivent faire l'objet des mêmes mesures que celles prises pour empêcher les attaques de script entre sites. Pour plus d'informations, consultez Vue d'ensemble des attaques de script.

http://msdn.microsoft.com/fr-fr/library/bd70eh18.aspx
 
Discussions similaires
Haut