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 :

se connecter en Curl pour accéder à une page connectée


Sujet :

Langage PHP

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut se connecter en Curl pour accéder à une page connectée
    Bien le bonjour les gens !

    voila, je veux accéder à ma page statut en curl :

    http://www.developpez.net/forums/usercp.php

    or il se trouve que pour y accéder, il faut d'abord se connecter....

    j'ai donc suivi ce lien

    http://php.net/manual/en/function.curl-setopt.php#76219

    et j'ai donc fais ceci :

    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
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");
    curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile
    curl_setopt($curl, CURLOPT_URL, "http://www.developpez.net/forums"); # this is where you first time connect - GET method authorization in my case, if you have POST - need to edit code a bit
    $xxx = curl_exec($curl);
     
    curl_setopt($curl, CURLOPT_URL, "http://www.developpez.net/forums/usercp.php"); # this is where you are requesting POST-method form results (working with secure connection using cookies after auth)
    curl_setopt($curl, CURLOPT_POSTFIELDS, "vb_login_username=kaking&vb_login_password=xxx"); # form params that'll be used to get form results
    $xxx = curl_exec($curl);
     
    curl_close ($curl);
    echo $xxx;
    mais boum, il veut rien entendre, l'animal, il m'affiche la page de connexion...

    sauriez comment faire siouplais ?

    merci
    fan de Dune et de Monkey Island ? venez voir mon jeu point and click du style du jeu DUNE sorti en 1992 ! DUNE - Moneo au service de l'Empereur-dieu

  2. #2
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    peste, personne pour m'orienter ?

    siouplais ! un bon geste m'sieurs dames !
    fan de Dune et de Monkey Island ? venez voir mon jeu point and click du style du jeu DUNE sorti en 1992 ! DUNE - Moneo au service de l'Empereur-dieu

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 59
    Points
    59
    Par défaut
    Tu essaies de te connecter au forum de developpez.com en curl?


    Après une investigation sur le formulaire de connexion, il y a ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)" action="login.php?do=login" method="post" class="block vbform">
    Du coup, au submit, le formulaire va remplir des champs cachés pour les envoyer au script d'authentification.

    Je pense du coup que les données que tu envoies ne sont pas ceux attendus (il y a également des champs cachés dans le formulaire de connexion qui doivent être remplis également)...
    Donc à priori ce doit être ça le soucis.

    EDIT : d'ailleurs l'url de traitement de tes valeurs en POST devrait être le même que celui du formulaire, à savoir : login.php?do=login

  4. #4
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    l'interet de se connecter en curl sur developpez, c'est que tous ceux qui me répondent sur le forum peuvent tester si ce que je dis marche ou pas

    ok, donc, mon code te parait correct, mais en fait, c'est les variables passées qui ne sont pas toutes défini, et l'url ? ok, j'essaie merci
    fan de Dune et de Monkey Island ? venez voir mon jeu point and click du style du jeu DUNE sorti en 1992 ! DUNE - Moneo au service de l'Empereur-dieu

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 59
    Points
    59
    Par défaut
    Du coup, tu as réussi à t'en sortir?

  6. #6
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    non, pas avec le site de developpez.com (la fonction js md5hash est inventée et offusquée, je ne réussi pas a voir ce qu'elle fait)

    mais j'ai réussi a le faire avec un site joomla

    mais pour ca, il faut connaitre le $secret du site joomla visé pour rendre possible la connexion à distance (défini dans configuration.php)

    ce qui veut dire que c'est impossible de se connecter à un site web à distance sans en avoir le droit...

    autant, j'ai pu recréé le token généré par joomla à la connexion

    autant, pour le $secret, ca ne s'invente pas, il faut avoir les droits pour le voir...

    ce qui m'énerve au plus haut point, car je ne peux pas me connecter à distance sur un site si je ne suis pas l'admin de ce site... j'imagine que si joomla le fait, les autres aussi... (le probleme étant que je suis expert joomla, pas expert zf ou symphonie, donc je n'en sais rien, mais bon)

    bref, c'est logique, mais je suis déçu ^^

    merci (si quelqu'un s'interesse au sujet, qu'il n'hésite pas à poster)
    fan de Dune et de Monkey Island ? venez voir mon jeu point and click du style du jeu DUNE sorti en 1992 ! DUNE - Moneo au service de l'Empereur-dieu

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/08/2012, 21h35
  2. [Drupal] Utilisation de CURL pour loader une page
    Par stomerfull dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/01/2012, 12h42
  3. CURL et QWebElement pour parser une page HTML
    Par moumous24 dans le forum Qt
    Réponses: 4
    Dernier message: 30/05/2011, 11h45
  4. Identification pour accéder à une page
    Par Alfred456654 dans le forum ASP
    Réponses: 16
    Dernier message: 20/11/2007, 19h06
  5. touche pour accéder à une application : hook system?
    Par Fox_magic dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 22/01/2003, 00h02

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