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

Langage PHP Discussion :

CURL et reCAPTCHA


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 11
    Par défaut CURL et reCAPTCHA
    Bonjour à tous !

    Pour commencer, je dois bien préciser deux choses. La première étant que je cherche une solution à mon problème depuis des heures ....et que je deviens fou.
    La deuxième c'est la finalité de mon projet. Je souhaite faire un script qui me permettrait de m'inscrire/connecter sur un site web ou je me réinscris souvent.
    C'est un projet personnel. Juste un outil pour moi qui va me faciliter la tache et surtout un bon exercice.

    Mon problème est donc le suivant:
    J'aimerais récuperer uniquement le CAPTCHA du site web ou je veux m'enregistrer.
    Le seul problème, c'est que quand je fais appel a CURL, la page se charge correctement mais le captcha ne s'affiche pas en me disant invalid referer.

    Je me suis donc dis que c'était un problème de cookie et referer. Mais rien n'y fais.... Je comprends pas....

    Voici mon script :

    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
    <?php
    error_reporting(E_ALL);
     
    $lien = 'http://www.xxxx.xx'; 
    $ckfile = tempnam ("", "CURLCOOKIE");
    $agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
     
    $ch = curl_init ($lien);
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_REFERER, $lien);
    $output = curl_exec ($ch);
     
     
    $ch = curl_init ($lien);
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12');
    curl_setopt($ch, CURLOPT_REFERER, $lien);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec ($ch);
     
     
    echo $output;
     
    ?>

    Je fais donc appel a deux CURL, le premier permettant de recup le cookie, et le deuxième permettant de l'injecter.

    Pourtant pas de CAPTCHA !

    Quelqu'un a une idée ?

    Merci d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    C'est le résultat de la plus élémentaire des protections, en effet un CURL ou tout autres méthode de cette nature, ne peux en aucun cas te mettre dans la situation d'appartenir au domaine appelé, même si tu en est propriétaire.
    En cause, le cookies du domaine, et le cookies de session du domaine.

    Le curl par ailleurs te renvoie uniquement le html résultant,jamais le PHP, si non tu pourrait de façon élémentaire obtenir le login du SQL du serveur par exemple.

    Voila l'Ami désolée.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 11
    Par défaut
    Je comprends pas trop ta réponse... alors je vérifie qu'on s'est bien compris.

    Le but est uniquement de récupérer l'image du captcha, et ensuite de l'insérer sur ma page web.

    CURL simule une requete HTTP a prioris et puisqu'on peut modifier les cookies, a quel niveau se situe la protection ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Lorsque tu appelles un php d'un domaine vers un autre domaine, c'est le serveur qui crée les deux cookies sur SON domaine, ors tu ne peux pas les lire ! étant sur un autre domaine !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 11
    Par défaut
    OK.

    Je comprends pas ce qui va différencier le serveur du client. N'est-il pas possible de faire agir le serveur comme un client web et ensuite de pouvoir donc récupérer la page en question avec le captcha du côté serveur et de l'envoyer côté client ?

    Edit: Puisqu'on peut intégrer un useragent dans le CURL, je comprends pas comment le site distant peut faire la distinction

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je te laisses faire tes tests , mais reches le cookies de
    http://www.fox-infographie.com/fi_lesw/wcaptcha.php
    tu compredra mieux sans doute

Discussions similaires

  1. [cURL] Gérer le proxy avec curl
    Par DaSoul dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/03/2006, 00h18
  2. Jeux de curling
    Par chasse dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/03/2006, 13h03
  3. [XML] [cURL] Authentification Php récupération de données
    Par thibaut06 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/02/2006, 15h23
  4. Dev-CPP et cURL (libcurl)
    Par firejocker dans le forum Dev-C++
    Réponses: 1
    Dernier message: 29/09/2005, 12h41

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