Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
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 28/09/2008, 18h21   #1
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Par défaut [cURL] authentification par cookie déjà créé

Bonjour à vous developpeurs :-)
Je suis en train de codé un petit script PHP pour récupérer une phrase.
Le soucis c'est que cette phrase peut être récupérée seulement si je suis logger avec mon cookie.
Voilà ce que j'ai codé:
Code : PHP
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
	$url = "http://www.newbiecontest.org/epreuves/prog/prog1.php";
	$id = "PHPSESSID=1e8e45e3e5e0ec632705b**********; path=/";
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url); 
	curl_setopt($ch, CURLOPT_COOKIE, $id);
	$ret = curl_exec($ch);
	echo $ret;
	curl_close($ch);
?>
Voilà la forme du cookie:

En Espérant pouvoir avoir votre aide :-)
Merci d'avance...
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2008, 20h49   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
quelle est ta question ?
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2008, 20h51   #3
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Que me script change bien le HTTP-HEADER :-) donc qu'il puisse lire ma page avec le cookie que je lui donne. En l'occurrence "PHPSESSID=1e8e45e3e5e0ec632705b**********" dans le répertoire "path=/"
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 00h31   #4
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Ma question ne semble pas claire au vu des réponses, donc je la repose.
Comment puis-je m'identifier avec mon cookie pour accéder à la page "http://www.newbiecontest.org/epreuves/prog/prog1.php" ?
Merci d'avance :-)
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 22h49   #5
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
C'est vraiment pas dur je pense.
J'ai essayé en C sans réussite, donc j'essaie en PHP, où on me dit que c'est peut-être plus simple car il y a moins de lignes de code à mettre mais je n'y arrive toujours pas :'(
Ca fais plus de 2 semaines que j'essaie, sans réussite.. Aidez moi SVP

Maf
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 23h53   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Y a potentiellement un problème au niveau de la conception de votre script : une session (PHP ou non) est sensée expirer à un moment ou à un autre. Rien ne vous dit donc que l'identifiant que vous tentez de réutiliser est toujours valide.

Toutefois, le plus simple pour vérifier qu'un client HTTP cURL fonctionne bien consiste à faire ses tests en local en appelant une simple page qui afficherait les différentes variables intéressantes (print_r($_COOKIE); ici).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 00h28   #7
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Bonjour, et merci pour votre réponse, après quelque semaine de galère, cela fait fait vraiment plaisir!

Citation:
Envoyé par julp Voir le message
Y a potentiellement un problème au niveau de la conception de votre script : une session (PHP ou non) est sensée expirer à un moment ou à un autre. Rien ne vous dit donc que l'identifiant que vous tentez de réutiliser est toujours valide.
Je regarde le cookie que j'utilse lors de ma connection.. Je regarde mon phpsessid quand je suis connecté, et je l'utilise. Je ne peux biensûr le poster (j'ai déjà eu un poste en moins grâce a ça d'ailleur..) Bref, sans success... :'(

Citation:
Envoyé par julp Voir le message
Toutefois, le plus simple pour vérifier qu'un client HTTP cURL fonctionne bien consiste à faire ses tests en local en appelant une simple page qui afficherait les différentes variables intéressantes (print_r($_COOKIE); ici).
Tout les poste aidant a cette "épreuve" de NC me disait d'utilser cURL donc je pense que cURL fonctionne sur ce serveur :-) mais,
Excusez moi, je ne comprends pas "print_r($_COOKIE);"

Merci bcp!!!
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 00h46   #8
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Ok, donc ça met l'expiration de côté.

Ce que je cherchais à dire c'est que je recommande de tester son script en simulant la position du serveur en local. Donc vous créez un script de ce genre :
Code serveur.php :
1
2
<?php
print_r($_COOKIE);
Que vous appelez ensuite (et dont vous récupérez la sortie) par l'intermédiaire de votre script client au lieu du vrai serveur. Si ça fonctionne vous devriez voir apparaître le votre (PHPSESSID).

A noter qu'il existe également des options plus "complètes" pour gérer les cookies (de mémoire, je pense à COOKIEJAR et COOKIEFILE).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 01h04   #9
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Merci pour ton aide Julp.
Donc je connais COOKIEJAR qui sert a crée un cookie, et COOKIEFILE qui sert a utiliser une cookie.
Le HIC, c'est que mon cookie n'est pas stocké sur mon ordinateur... (Recherche sur mon pc..)
Je ne comprend pas comment m'identifier avec le screen que je vois ais donner pour accéder à mon épreuve.. J'en suis bien triste car il a tellement de chose a faire plus intéressantes à faire après. Je veux m'identifier, mais je n'y arrive pas.
J'ai changé un peu mon script grâce a Julp, maintenant, il me dit:


Attention, vous n'êtes pas loggué !
Vous devez faire suivre votre session à l'exécution de ce script
Array ( )
sur http://slayder.web.112.free.fr/nc-prog/ep1.php


voilà, je ne sais pas trop quoi faire..

ps: la honte, je rentre à épitech.
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 15h25   #10
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Essayez de rajouter, en plus, l'entête user agent (option cURL correspondante : CURLOPT_USERAGENT).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2008, 20h00   #11
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Merci pour t'as réponse Julp :-)
Ca ne fonctionne toujours pas malheureusement
Donc, je reposte mon code, et je voudrais savoir ce qui cloche pour utiliser ce cookie sur ce site!
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php
	$url = 'http://www.newbiecontest.org/epreuves/prog/prog1.php';
	$agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6';
	$id = 'PHPSESSID=bb2e5b0c1801158d33295**********; path=/';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_USERAGENT, $agent);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_TIMEOUT, 4);   
	curl_setopt($ch, CURLOPT_COOKIE, $id);
 
	$ret = curl_exec($ch);
	if (curl_errno($ch))
	{
		print curl_error($ch);
		return false;
	}
	echo $ret;
	print_r($_COOKIE);
	curl_close($ch);
 
?>
Aidez moi svp Il y a tellement de chose trop intéressante après avoir su comment ce logguer :-)
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2008, 03h51   #12
Membre du Club
 
Inscription : août 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 109
Points : 41
Points : 41
Je suis trop content !! Grâce au plugin firefox s'appelant Httpliveheader j'ai pu trouver exactement le cookie envoyé au site web et ça marche !!!
Rah.. Après qql semaines de galère c'est trouvé!
Merci à vous quand même!
Maf77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h37.


 
 
 
 
Partenaires

Hébergement Web