IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Web Service][cURL] authentification par cookie déjà créé


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut [Web Service][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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    quelle est ta question ?

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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=/"

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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 :-)

  5. #5
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    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).

  7. #7
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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!!!

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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).

  9. #9
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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.

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Essayez de rajouter, en plus, l'entête user agent (option cURL correspondante : CURLOPT_USERAGENT).

  11. #11
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :-)

  12. #12
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    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!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script PHP envoie les infos à un web service (curl)
    Par aspkiddy dans le forum Langage
    Réponses: 2
    Dernier message: 26/09/2015, 19h45
  2. [Débutant] web service avec authentification
    Par sou_osaki dans le forum Services Web
    Réponses: 0
    Dernier message: 11/06/2013, 09h42
  3. web service d'authentification
    Par twister9458 dans le forum Services Web
    Réponses: 1
    Dernier message: 12/05/2009, 17h15
  4. Réponses: 3
    Dernier message: 23/11/2007, 12h50
  5. [Cookies] Authentification par cookie
    Par Sergejack dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2006, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo