Page 1 sur 2
Authentification via script PHP sur formulaire GET
Posté : 23 sept. 2012, 21:13
par ABodyWithAHead
Bonjour à tous!
Alors voilà, je connais un site web qui, pour s'y connecter en tant que membre, utilise la méthode GET. Après plusieurs recherches, j'ai remarqué qu'il suffisait d'accéder à /login/?action=login&user=XXX&pass=XXX pour se connecter, sans passer par la page de connexion en entrant dans les champs les infos.
Il faut savoir qu'en accédant donc à cet URL, le serveur vous redirige directement sans interpage à la page d'accueil.
Je voudrais créer un script PHP sur mon serveur qui se connecte automatiquement sur le site, donc en utilisant /login/?action=login&user=XXX&pass=XXX ( + rapide ).
Or, il m'est difficile d'utiliser curl, puisque ce module est plutôt fait pour la méthode POST!
De plus, j'ai l'impression que la redirection complique la tâche.
En résumé : je voudrais que mon serveur se connecte au site ( en utilisant les cookies ) et ensuite m'affiche la page membre du site ( enfin, ça je sais faire ! ).
Je bloque donc pour l'authentification automatisée et l'histoire des cookies !
Pourriez-vous m'aider ?
Cordialement,
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 10:53
par xTG
cUrl est ton amie.
Car justement, elle ne fait pas que POST, puisque les données en GET sont... l'url !

Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 12:07
par ABodyWithAHead
cUrl est ton amie.
Car justement, elle ne fait pas que POST, puisque les données en GET sont... l'url !

Pourrais-tu me guider ? Je ne connais que Curl pour POST, mais je ne comprends pas comment utiliser les cookies via GET en utilisanr l'URL !
Cordialement,
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 12:57
par Mazarini
Lorsque tu mets l'url, tu inclues les paramètres dedans en méttant à la fin : ?action=login&user=XXX&pass=XXX
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 13:08
par ABodyWithAHead
Lorsque tu mets l'url, tu inclues les paramètres dedans en méttant à la fin : ?action=login&user=XXX&pass=XXX
Hum oui, je faisais $url=....../?action=login&user=XXX&pass=XXX
Ensuite je faisais curl_init($url) <--- la procédure quoi ( je parle avec mon portable, si je commets des fautes c'est normal ^^ )
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 14:54
par xTG
Donc tu as toutes les billes.

Pour le reste c'est comme avec POST, sauf que tu ajoutes pas de données en POST.
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 15:52
par ABodyWithAHead
Donc tu as toutes les billes.

Pour le reste c'est comme avec POST, sauf que tu ajoutes pas de données en POST.
<?
$lien = 'http://...../register/?action=login&returnpage=&login_login=XXX&login_password=XXX'; // Le fait qu'il est y une redirection n'influence-pas?
$path_cookie = 'coookies.txt';
if (!file_exists(realpath($path_cookie))) touch($path_cookie);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $lien);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_COOKIEJAR, realpath($path_cookie));
$return = curl_exec($curl);
curl_close($curl);
$lien2 = 'http://..../homr.php'; //Normalement si l'on est connecté, on devrait voir "Panel" sur home.php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $lien2);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_COOKIEFILE, realpath($path_cookie));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_COOKIEFILE, realpath($path_cookie));
$return = curl_exec($curl);
echo $return;
curl_close($curl);
unlink($path_cookie);
?>
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 16:41
par xTG
La redirection n'est pas récupérée par cUrl il me semble vu qu'elle récupère uniquement le résultat de la requête HTTP.
Donc si ton but est la connexion et les données de la page après redirection il faut faire deux requêtes cUrl.
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 16:55
par ABodyWithAHead
La redirection n'est pas récupérée par cUrl il me semble vu qu'elle récupère uniquement le résultat de la requête HTTP.
Donc si ton but est la connexion et les données de la page après redirection il faut faire deux requêtes cUrl.
Mon but est ( pour l'instant ) de me connecter au site via Curl, puis d'afficher la page du site d'accueil MAIS avec l'authentification ( donc la page avec par exemple : Bienvenue M.X ).
Or, il m'affiche toujours la page en tant qu'utilisateur non connecté ( basique quoi )
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 18:53
par xTG
Et tu es sûr que tu arrives à te connecter en accédant directement à cette url via ton navigateur ?
As-tu regardé ce qu'il y a dans le retour de curl ?
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 19:07
par ABodyWithAHead
Oui j'en suis sûr et certain.
Curl m'affiche la page normale, avec en gros "connectez-vous" au lieu d'avoir "espace membre". Impossible de se connecter donc avec curl!
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 19:46
par xTG
Et le fichier cookies.txt il est rempli ?
Re: Authentification via script PHP sur formulaire GET
Posté : 24 sept. 2012, 21:00
par ABodyWithAHead
Oui, avec par exemple lang=fr uid=XXXXXXXX
Re: Authentification via script PHP sur formulaire GET
Posté : 25 sept. 2012, 08:46
par xTG
Donc il a bien chargé la page si tu récupères des cookies.
Regardes le premier $return.
Re: Authentification via script PHP sur formulaire GET
Posté : 25 sept. 2012, 12:06
par ABodyWithAHead
Le premier $return m'affiche blanc puisque la page en soit n'a pas d'element a afficher. Surement à cause de la redirection!