Page 1 sur 1

Problème avec Curl

Posté : 11 juin 2011, 21:16
par ferv21
Bonjour
J'avais réaliser un script qui me permettait de me connecter sur mon compte steam https://steamcommunity.com/ via curl il y a quelque mois et aujourd’hui lorsque j'essaie de lancer mon script ça ne marche pas comme avant.

J'essaie de comprendre ce qui cloche, je pense que le code est plutôt bon, puisque j'ai réussi à me loguer sur un autre site, maintenant j'ai remarquer que sur le site de steam ils ont rajouté des champs en plus.
Mais le problème persiste même en faisant le changement.
A votre avis d'ou vient le problème?
<?php 
define('AUTHENTIFICATION' , 'https://steamcommunity.com');
define('PAGE_PRIVEE'      , ''); 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, AUTHENTIFICATION);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    array(
        'username'=>'xxxxxxx',
        'password'=>'xxxx',
	'captchagid'=>'-1',
));           
                        
$fp = fopen ("cookies.txt", "w+");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('cookies.txt'));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION,  true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$ret = curl_exec($ch);
//$donnee = htmlentities($ret);
echo $ret;
curl_close($ch);


?>

Re: Problème avec Curl

Posté : 11 juin 2011, 21:34
par Maskime
Hello,

J'ai fait un tour sur l'url de steam.
Et y a une différence majeure par rapport à avant, c'est que visiblement le submit du formulaire est géré par le JS.
Jette un oeil au JS à cette adresse pour comprendre ce qui se passe, plus particulièrement la fonction DoLogin():
https://steamcommunity.com/public/javas ... 5&l=french

Ensuite il est possible qui vérifie le referer pour être sûr que l'utilisateur passe bien par leur site avant de lancer une requête de connexion.
Dans ce cas là je suis pas sûr que t puisse faire grand chose...

Re: Problème avec Curl

Posté : 12 juin 2011, 00:20
par ferv21
Salut

Oui tu as raison, le submit st bien géré par une fonction js, mais j'ai enlever le script qui gère cette fonction car elle m'embête, et dans le php j'ai réessayer en changeant l'url d'authentification et ca l'air de marcher. Sauf que steam a doublé la protection en ajoutant cette fois ci une identification par mail, du coup mon script en php s'arrête la.
Mais j'ai eu ce que je voulais :).