curl_setopt pour cookie

curl_setopt pour cookie - PHP - Programmation

Marsh Posté le 12-04-2011 à 00:09:30    

je mets un site entier dans un répertoire du serveur
 
j'ai créé un fichier index.php dans le même serveur qui traite la page que l'on souhaite voir (les liens sont modifiés et d'autres choses)
 
j'ai utilisé, entre autres, les options suivantes pour conserver les cookies générés par la page lue
 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies_file);
 
Tout fonctionne bien. Par contre j'ai un souci de compréhension par à rapport à ce cookie crée par Curl.
 
Quand j'ouvre différents navigateurs sur mon PC et que je m'identifie sur le site qui est retraité par mon fichier index.php alors le cookie est rempli. Là tout va bien.
Ensuite si j'ouvre un autre navigateur et que je clique sur n'importe quelle page du même site alors je suis également connecté sans l'avoir fait sauf par le 1er navigateur.
 
Cela signifierait que si des internautes de différents lieux se connectent sur ce site via mon fichier index.php alors il suffirait d'1 seul qui s'identifie pour que tout le monde soit identifié sans l'avoir fait ? et cela à cause du fichier cookies_file qui est le seul fichier lu par l'index.php?
 
si c'est bien ce que j'ai compris alors comment faire pour que les cookies soient intégrés normalement dans chaque navigateur et non pas dans un fichier ? est-ce que Curl fait ça ? si oui comment ?
 
merci par avance

Reply

Marsh Posté le 12-04-2011 à 00:09:30   

Reply

Marsh Posté le 12-04-2011 à 11:40:45    

personne pour m'aider ?
 
j'ai vraiment besoin d'une réponse. si mon explication n'est pas clair alors merci de me le dire.
 
j'ai un GROS souci avec ce cookie. Je ne comprends pas l'intérêt de stocker un cookie dans le serveur (pourtant je ne trouve pas d'autres solutions) s'il est lu par tous les internautes qui se connectent au site
 
A l'aide !

Reply

Marsh Posté le 12-04-2011 à 17:32:12    

En fait, si je comprends bien, ton index.php fait office de proxy entre le navigateur et le site ?

 

Dans ce cas, le cookie curl, qui correspond à la connexion entre l'index.php et le site, est commun à toutes les sessions, vu que le fichier est toujours le même.

 

Il faut que tu arrives à séparer le cookie en fonction du navigateur.
Pour cela, dans index.php, tu repères le client et tu utilises les cookies curl correspondants.

 

Ces cookies curl, soit tu continues de les stocker dans des fichiers (un par session), auquel cas tu stockes le nom du fichier en session et tu dois mettre en place un système de nettoyage des vieux fichiers, soit tu stockes carrément le contenu des cookies curl en session (je ne sais pas comment tu peux manipuler les cookies, es-tu obligé de passer par un fichier ?).

 

PS : quand je dis en session, ce n'est pas forcément dans $_SESSION, c'est dans un espace de stockage propre à un utilisateur. Ca peut être en base de données avec un mécanisme de connexion, dans un cookie (du navigateur, pas de curl), dans la session PHP, ...


Message édité par Paulp le 12-04-2011 à 17:32:42
Reply

Marsh Posté le 14-04-2011 à 14:32:06    

Merci Paulp
 
j'ai effectivement distingué chaque cookie par la session de l'utilisateur. Ce qui m'oblige a nettoyer le répertoire.
Si quelqu'un à une meilleure autre solution, je suis preneur.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed