Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/06/2006, 17h15   #1
Membre à l'essai
 
Inscription : juillet 2005
Messages : 29
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 29
Points : 20
Points : 20
Par défaut [Cookies] fopen d'une url ayant besoin d'une session

Bonjour,
je cherche actuellement a faire un foprn sur une page. Les données que je recherche sont accessible en remplissant le champs d'une session sur une autre page. Deux des solutions que j'ai testé mais qui ne fonctionnent pas :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
   $proxy_name = 'X.xx.xx.x';
   $proxy_port = 80;
   $proxy_cont1 = '';
   $proxy_cont2 = '';
   $proxy_cont = '';
 
   $proxy_fp = fsockopen($proxy_name, $proxy_port);
   if (!$proxy_fp)    {return false;}
 
   fputs($proxy_fp, "GET http://page_remplissant_la_session HTTP/1.0\r\nHost: $proxy_name\r\nContent-Length: 4096\r\nConnection: keep-alive\r\n\r\n");
   while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
 
   fputs($proxy_fp, "GET http://page_verifaint _la_session HTTP/1.0\r\nHost: $proxy_name\r\nContent-Length: 4096\r\nConnection: keep-alive\r\n\r\n");
   while(!feof($proxy_fp)) {$proxy_cont1 .= fread($proxy_fp,4096);}
 
   fputs($proxy_fp, "GET http://page_que_je_veux_attiendre HTTP/1.0\r\nHost: $proxy_name\r\nContent-Length: 4096\r\nConnection: close\r\n\r\n");
   while(!feof($proxy_fp)) {$proxy_cont2 .= fread($proxy_fp,4096);}
 
   fclose($proxy_fp);
 
   $proxy_cont2 = substr($proxy_cont2, strpos($proxy_cont2,"\r\n\r\n")+4);  
   echo $proxy_cont2;
Ceci fait la première requete sans jamais executé les autres.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   $proxy_name = 'x.x.x.x';
   $proxy_port = 80;
   $proxy_cont1 = '';
   $proxy_cont2 = '';
   $proxy_cont = '';
 
   $proxy_fp = fsockopen($proxy_name, $proxy_port);
   if (!$proxy_fp)    {return false;}
 
   fputs($proxy_fp, "GET http://rempli_la_session HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
   while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
 
   $proxy_fp2 = fsockopen($proxy_name, $proxy_port);
   if (!$proxy_fp2)    {return false;}
 
   fputs($proxy_fp2, "GET http://control HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
   while(!feof($proxy_fp2)) {$proxy_cont1 .= fread($proxy_fp2,4096);}
 
   $proxy_fp3 = fsockopen($proxy_name, $proxy_port);
   if (!$proxy_fp3)    {return false;}
 
   fputs($proxy_fp3, "GET http://atteindre HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
   while(!feof($proxy_fp3)) {$proxy_cont2 .= fread($proxy_fp3,4096);}
 
 
   fclose($proxy_fp);
   fclose($proxy_fp2);
   fclose($proxy_fp3);
 
   $proxy_cont2 = substr($proxy_cont2, strpos($proxy_cont2,"\r\n\r\n")+4);  
   echo $proxy_cont2;
J'atteinds ma page mais la session n'est pas rempli Je suppose que ça vient de la rupture des sockets.

Pouvez-vous m'aider ?
iaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2006, 13h59   #2
Membre éprouvé
 
Avatar de GregPeck
 
Inscription : novembre 2005
Messages : 530
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 530
Points : 464
Points : 464
Je me demande si ça ne viens pas du systeme de session tout simplement. Pour stocker les variable de session, il y a 2 maniières utilisés par les navigateurs.
1 => Stocker les cookies en local, ce que la commande fsockopen ne fait pas.
2 => Il transforme les url pour y ajouter un truc du genre PHPSESSID=132abc1231d321e321f32b1a3, ce que je suppose que tu ne fait pas dans ton code.

La solution serait de choper le numéro de session que te renvoie http://page_remplissant_la_session et la rajouter à la page http://page_verifaint_la_session de cette manière:

http://page_verifaint_la_session?PHP...321e321f32b1a3

Après c'est juste une idée, je ne sais pas si ça viens de là ou pas et si la variable s'appelle bien PHPSESSID, mais c'est à creuser
GregPeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h54.


 
 
 
 
Partenaires

Hébergement Web