logo Homepage
+  NewbieContest
|-+  Divers» Hacking» [RESOLU] Utilisation de curl_exec
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [RESOLU] Utilisation de curl_exec  (Lu 3099 fois)
pixis
Administrateur

Profil challenge

Classement : 16/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« le: 27 Février 2012 à 04:22:58 »

Bonsoir tout le monde
(premier message, petite goutte de sueur qui coule lentement le long de la tempe, certainement causée par le stress ...   )
Alors voilà, j'ai une question relativement précise sur une fonction php qui me rend vraiment perplexe. Je m'explique :
J'étais tranquillement en train d'aborder un des challenges, quand j'ai du découvrir cURL. (Ceux qui l'ont fait sauront surement de quel challenge je parle) Mais je ne pose pas ma question dans ce topic puisqu'elle ne concerne pas vraiment le  but du challenge en question.

Je voudrais savoir quelle est la réelle valeur de retour de curl_exec. En effet, je lis dans beaucoup beaucoup de tuto, sites, "manuels" que la valeur de retour de curl_exec est le code source de la page
Par exemple :
Citation
$resultat = curl_exec ($ch); // On exécute la requête qui nous retourne le contenu de la page dans un tableau.

En revanche, je lis aussi que la valeur de retour de curl_exec est :
Citation
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

J'ai alors testé, et la deuxième définition apparaît être la bonne, puisqu'apparait un " 1 " (TRUE, je suppose).

Mais moi je voulais récupérer le contenue de ma page, alors j'ai encore lu :
Citation
Cependant, si l'option CURLOPT_RETURNTRANSFER est définie, la fonction retournera le résultat en cas de succès, et FALSE si une erreur survient.

Qu'est ce que "le résultat" ? Car quand je définie CURLOPT_RETURNTRANSFER  en "TRUE", alors curl_exec ne me renvoie plus rien ...

Merci d'avance pour vos réponse, et si ce sujet n'est pas posté au bon endroit, alors je vous présente mes plus plates excuses d'avance ...

(PS : Ce site, il est vraiment 'achement bien.)
« Dernière édition: 27 Février 2012 à 17:13:35 par pixis » Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
Ge0

Profil challenge

Classement : 16/54254

Membre Senior
****
Hors ligne Hors ligne
Messages: 377


Voir le profil WWW
« #1 le: 27 Février 2012 à 06:19:32 »

Salut,

Si tu actives l'option CURLOPT_RETURNTRANSFER, curl_exec() est supposé te renvoyer le code source de la page pour que tu puisses le stocker dans une variable... Donc ça n'est pas normal que curl_exec() ne te renvoie rien en l'état... Peux-tu nous montrer ton code source intégral, ou du moins la partie intéressante ?

Merci !
Journalisée
_o_
Relecteur

Profil challenge

Classement : 42/54254

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #2 le: 27 Février 2012 à 08:25:42 »

Car quand je définie CURLOPT_RETURNTRANSFER  en "TRUE", alors curl_exec ne me renvoie plus rien ...

Peut-être parce que la page est vide ? Que dit wireshark ?
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
pixis
Administrateur

Profil challenge

Classement : 16/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« #3 le: 27 Février 2012 à 13:15:46 »

Et bien en codant ceci :
Code:
<?php
$url 
'http://www.newbiecontest.org/epreuves/prog/prog1.php';
$id 'PHPSESSID=09cf589a07a***************; path=/';
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_COOKIE$id);
 
echo 
curl_exec($ch);
curl_close($ch);
 
?>

j'obtiens

Citation
Attention, vous n'êtes pas loggué !


Vous devez faire suivre votre session à l'exécution de ce script

1

Alors ça ne me log pas, mais je ne vais pas demander pourquoi ici, ce n'est pas le sujet
Et quand j'ajoute la ligne en question :

Code:
<?php
$url 
'http://www.newbiecontest.org/epreuves/prog/prog1.php';
$id 'PHPSESSID=09cf589a07a49*******************; path=/';
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_COOKIE$id);
 
echo 
curl_exec($ch);
curl_close($ch);
 
?>

Je n'obtiens plus que :
Citation
Attention, vous n'êtes pas loggué !


Vous devez faire suivre votre session à l'exécution de ce script

le "1" à la fin disparaît ...

  Oui, je débute, le problème doit être tout bête ... Comme je n'arrive pas a m'authentifier, le contenu de la page est vide ?
Mais pourtant la page n'est pas vide puisqu'elle m'affiche un message me demandant  de faire suivre ma session à l'exec du script ?

Je dois tourner en rond, il me manque quelque chose ...

Merci d'avance


EDIT : J'ai trouvé ce qui n'allait pas. En effet la page était vide. J'ai depuis résolu le problème de la connexion, et tout fonctionne bien ! Merci pour votre aide
« Dernière édition: 27 Février 2012 à 14:16:47 par pixis » Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
Pages: [1]
  Imprimer  
 
Aller à: