Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][CURL] Proszę o sprawdzenie kodu...
krzywy36
post 10.03.2008, 22:13:57
Post #1





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


Chcę napisać bota, ale jakoś mi nie wychodzi ;/ podejrzewam, że błąd jest w kodzie, albo jakieś funkcje źle stosuje. Jakby ktoś mógł sprawdzić kod, byłbym bardzo wdzięczny biggrin.gif, dodam jeszcze, że skrypt ma się logować na stronę i pobierać źródło strony wyświetlanej zalogowanemu użytkownikowi... Z góry thx ;] niżej kod:

index.php
  1. <?php 
  2. $curl = curl_init('http://bux.to/login.php'); 
  3. curl_setopt($curl, CURLOPT_HEADER, 1);
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_NOBODY, 1);  
  6. $header = curl_exec($curl);  
  7. $start=stripos($header,'set-cookie'); 
  8. $stop = stripos($header,"\n",$start);
  9. $cookie = trim(substr($header,$start,$stop-$start)); 
  10. $cookie = str_ireplace(array('expires','path','domain'),array('','',''),$cookie); 
  11. $mask = '/([%a-z0-9]+)=([%a-z0-9]+)/i'; 
  12. preg_match_all($mask,$cookie,$result); 
  13. $phpsessid = $result[2][0];
  14. $cookiename = $result[1][0];  //Pobranie ciastka do zmiennej  
  15. curl_close($curl);
  16. ?>
  17. <html>
  18. <head>
  19. <title>Podaj login i haslo z bux.to</title>
  20. </head>
  21. <body>
  22. <form action="process.php" method="post" />
  23. <table border="1">
  24. <tr>
  25.  <td>
  26.  <span class="text">Nick:</span>
  27.  </td>
  28.  <td>
  29.  <input type="text" name="nick" />
  30.  </td>
  31. </tr>
  32. <tr>
  33.  <td>
  34.  <span class="text">Hasło:</span>
  35.  </td>
  36.  <td>
  37.  <input type="password" name="pass" />
  38.  </td>
  39. </tr>
  40. <tr>
  41.  <td>
  42.  <span class="text">Security code:</span>
  43.  </td>
  44.  <td>
  45.  <img src="obrazek.php?phpsessid=<?php echo $phpsessid.'&cookiename='.$cookiename; ?>" />
  46.  </td>
  47. </tr>
  48. <tr>
  49.  <td></td>
  50.  <td>
  51.  <input type="text" name="security" />
  52.  </td>
  53. </tr>
  54. <input type="hidden" name="phpsessid" value="<?php echo $phpsessid; ?>" />
  55. <input type="hidden" name="cookiename" value="<?php echo $cookiename; ?>" />
  56. <tr>
  57.  <td><input type="submit" value="Ok" /></td>
  58. </tr>
  59. </table>
  60. </form>
  61. </body>
  62. </html>


obrazek.php:
  1. <?php
  2. $phpsessid = $_GET[phpsessid];
  3. $cookiename = $_GET[cookiename];
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. $sendcookie =urlencode($cookiename)."=".urlencode($phpsessid);
  7. curl_setopt($ch, CURLOPT_COOKIE, $sendcookie);
  8. curl_setopt($ch, CURLOPT_URL, 'http://bux.to/captcha/imagebuilder.php');
  9. header ('Content-type: image/png');
  10. $obrazek = curl_exec($ch);
  11. curl_close($ch);
  12. echo $obrazek;
  13. ?>


process.php
  1. <?php
  2. $phpsessid = $_POST[phpsessid];
  3. $cookiename = $_POST[cookiename];
  4. $nick = $_POST[nick];
  5. $pass = $_POST[pass];
  6. $security = $_POST[security];
  7. echo $phpsessid;
  8.  
  9. $curl = curl_init();
  10. curl_setopt($curl, CURLOPT_POST, 1);
  11. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  12. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  13. curl_setopt($curl, CURLOPT_HEADER, 1); 
  14. $sendcookie = $cookiename. '='. urlencode($phpsessid);
  15. curl_setopt($curl, CURLOPT_COOKIE, $sendcookie);
  16. curl_setopt($curl, CURLOPT_POSTFIELDS, 'COOKIEusername='. $nick. '&COOKIEpass='. $pass. '&verify='. $security);
  17. curl_setopt($curl, CURLOPT_URL, 'http://bux.to/login.php');
  18. $strona = curl_exec($curl);
  19. curl_close($curl);
  20. echo $strona;
  21. ?>


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
netmare
post 12.03.2008, 22:15:23
Post #2





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


$postfields['loginsubmit']='Login'; Ci brakuje i poubieraj indeksy tablic w apostrofy, możesz też popracować trochę nad kodem, bo można to trochę lepiej napisać ;p
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 16:59