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 :

[cURL] Curl et cookies


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Points : 12
    Points
    12
    Par défaut [cURL] Curl et cookies
    Bonjour à tous !

    Je suis en train de réaliser quelques petits tests avec Curl et j'ai malheureusement l'impression que mon désir final soit impossible... c'est pourquoi je viens à vous, histoire de savoir si je perds mon temps ou pas !

    Je suis dans le cas où je dispose d'un identifiant et d'un mot de passe qui permettent de s'identifier à l'espace membre d'un site, disons exemple.com

    Au moment où j'ai écrit ces lignes, j'ai réussi à monter un script php qui une fois lancé, arrive à remplir le formulaire de connexion au-dit espace membre à l'aide des identifiants et à suivre la redirection. C'est à dire qu'une fois le script php lancé, on atterrit sur la page d'accueil de l'espace membre, et on est bel et bien connectés.

    Voici le code, dans le cas où on cherche à se connecter à facebook.com :

    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
    24
    25
    26
    27
    28
     // On définit les champs à remplir
      $postfields = array();
      $postfields['charset_test'] = '€,´,€,´,水,Д,Є';
      $postfields['version'] = '1.0';
      $postfields['return_session'] = '0';
      $postfields['email'] = 'monemail@domaine.com';
      $postfields['pass'] = 'monmotdepasse';
      $postfields['persistent'] = '0';
     
      //url de la page de soumission
      $url = 'http://www.facebook.com/login.php';
      $useragent = 'Mozilla/5.0';
      $referer = $url; 
     
      //Initialise une session CURL
      $ch = curl_init($url);
      curl_setopt($ch, CURLOPT_POST, 1);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
      curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
      curl_setopt($ch, CURLOPT_REFERER, $referer);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
     
      $result = curl_exec($ch);
      curl_close($ch);
     
      echo $result;
    Bon donc ce script, si on crée un fichier cookies.txt dans le même dossier, et qu'on l'édite bien avec son email et son mot de passe, il nous redirige vers l'accueil de facebook, et magie de la vie on est connectés !

    Tout va bien alors me direz-vous mais en fait, cette connexion n'est que temporaire et n'est possible que grâce au fichier cookies.txt dans lequel sont enregistrés les cookies facebook et sans lesquels on ne peut pas être connecté. Passer par notre script permet de préciser à facebook que c'est dans ce fichier que le système de cookies doit se passer.

    Du coup, dès qu'on ne passe par ce script, on se rend compte que l'on est en fait pas connectés puisque facebook ne va plus lire cookies.txt (et comment le pourrait-il de toute façon ?) mais va chercher les cookies directement chez le navigateur, comme d'habitude.

    Mon problème est que mon but final est de monter un script php qui crée définitivement les cookies sur le navigateur afin d'être bel et bien connectés. J'ai réalisé une petite boucle while capable de récupérer les trois infos qui définissent les cookies facebook, à partir de cookies.txt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $file = fopen('cookies.txt', 'r');
     
      while(!feof($file)) {
        $line = fgets($file);
     
        if(substr($line, 0, 1) == '.') {
          $line = preg_replace('#\s#', ' ', $line);
          $data = explode(' ', $line);
          // $data[4] -> expire
          // $data[5] -> name
          // $data[6] -> value
        }
      }
    Donc je suis parfaitement capable de récupérer la date d'expiration, le nom et la valeur de chaque cookie générés par facebook pendant la requête HTTP.

    Et c'est alors que le problème se pose. Pour être définitivement connectés à facebook, il faudrait créer ses fameux cookies ! Et c'est rageant puisqu'on dispose de toutes les infos nécessaires ! Le problème est qu'il faudrait les créer depuis le serveur de facebook directement ce qui est évidemment impossible...

    Donc ma question (ouf !) est : est-il possible de créer des cookies "pour" facebook, de manière à ce qu'il les utilise comme si c'était les siens ? J'imagine que non pour des raisons évidentes de sécurité mais bon, c'est tout de même incroyable qu'on ne puisse pas simuler une connexion quand on dispose des identifiants nécessaires !

    Je précise que le but est à terme de généraliser la connexion à plusieurs sites en ne passant que par un script.

    Merci d'avance pour votre aide !

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 173
    Points : 168
    Points
    168
    Par défaut
    moi aussi j'ai le meme prb

Discussions similaires

  1. cUrl et les cookies
    Par piratack007 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/11/2009, 10h39
  2. [cURL] Utilisation des cookies
    Par babooo11 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 29/10/2009, 20h29
  3. [Web Service][cURL] authentification par cookie déjà créé
    Par Maf77 dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 03/10/2008, 03h51
  4. [cURL] Utilisation des cookies
    Par jpascal dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/02/2007, 03h05

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