Guest User

Free Mobile : nouvelle authentification

a guest
Feb 22nd, 2012
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.23 KB | None | 0 0
  1. <?php
  2.  
  3. $url = 'https://mobile.free.fr/moncompte/';
  4. $urlConso = 'https://mobile.free.fr/moncompte/index.php?page=suiviconso';
  5. $fields = array('login_abo'=>'???', 'pwd_abo'=>'???'); // A remplir évidemment
  6.  
  7. // 1° On récupère la page pour la décrypter
  8.  
  9. $ch = curl_init();
  10. curl_setopt($ch,CURLOPT_URL, $url);
  11. curl_setopt($ch, CURLOPT_COOKIEJAR, 'c:\cookiefile.txt');
  12. curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
  13. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  14. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
  15.  
  16. $content = curl_exec($ch);
  17.  
  18. curl_close($ch);
  19.  
  20. $chiffres = array();
  21. preg_match_all("#ident_addNumber\(([0-9]), ([0-9])\)#" , $content, $matches); //<img onclick="ident_addNumber(2, 0)" src="chiffre.php?pos=0" class="ident_chiffre_img pointer" alt="chiffre" />
  22. for ($i = 0; $i < 10; $i++) $chiffres[$matches[1][$i]] = $matches[2][$i];
  23. $login = '';
  24. for($i = 0; $i < strlen($fields['login_abo']); $i++) $login .= $chiffres[$fields['login_abo'][$i]];
  25. $fields['login_abo'] = $login;
  26.        
  27. // 2° Authentification
  28.        
  29. $fields_string = '';
  30. foreach($fields as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
  31. rtrim($fields_string,'&');
  32.  
  33. $ch = curl_init();
  34. curl_setopt($ch,CURLOPT_URL,$url);
  35. curl_setopt($ch, CURLOPT_COOKIEFILE, 'c:\cookiefile.txt');
  36. curl_setopt($ch, CURLOPT_COOKIEJAR, 'c:\cookiefile.txt');
  37. curl_setopt($ch,CURLOPT_POST,count($fields));
  38. curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
  39. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  40. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
  41. curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
  42.  
  43. curl_exec($ch);
  44.  
  45. curl_close($ch);
  46.  
  47. // 3° Récupération de la consommation
  48.  
  49. $ch = curl_init();
  50. curl_setopt($ch,CURLOPT_URL, $urlConso);
  51. curl_setopt($ch, CURLOPT_COOKIEFILE, 'c:\cookiefile.txt');
  52. curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
  53. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  54. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
  55.  
  56. echo curl_exec($ch); // A parser
  57.  
  58. curl_close($ch);
  59.  
  60. ?>
Add Comment
Please, Sign In to add comment