Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pobrać captchę i token za jednym razem?
Forum PHP.pl > Forum > PHP
Saki
Witam, mam mały problem, napisałem skrypt który sam ma przepisywać captchę i wysłać postem tekstową captchę, rozwiązywanie captchy i wysyłanie działa bardzo dobrze, ale jest mały problem, pobieram kilka razy stronę z captchą i tokenę więc mi się zmienia sesja captchy i pokazuje mi przez to że niepoprawna captcha bo wysyłam tekst dawnej captchy zamiast aktualną.

Proszę o pomoc:

  1. function pobierzCaptcha() {
  2.  
  3. $a = curl_init("http://nk.pl/flood_guard_captcha_verification?target=%2Finvite%2F46200582");
  4. curl_setopt($a, CURLOPT_USERAGENT, SETUSERAGENT);
  5. curl_setopt($a, CURLOPT_COOKIEJAR, 'cookie.txt');
  6. curl_setopt($a, CURLOPT_COOKIEFILE, 'cookie.txt');
  7. curl_setopt($a, CURLOPT_RETURNTRANSFER, 1);
  8. //curl_setopt($a, CURLOPT_RETURNTRANSFER, TRUE);
  9. $wynik=curl_exec($a);
  10. //curl_close($a);
  11. preg_match_all('#<input type="hidden" name="auto_form_ticket" value="(.*)">#sU', $wynik, $token);
  12. $tokener = $token[1][0];
  13.  
  14. $ch = curl_init('http://nk.pl/captcha');
  15. $fp = fopen('captcha.png', 'wb');
  16. curl_setopt($ch, CURLOPT_USERAGENT, SETUSERAGENT);
  17. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  18. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
  19. //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  21. curl_setopt($ch, CURLOPT_FILE, $fp);
  22. curl_setopt($ch, CURLOPT_HEADER, 0);
  23. curl_exec($ch);
  24. //curl_close($ch);
  25. fclose($fp);
  26.  
  27. require_once 'deathbycaptcha.php';
  28. $client = new DeathByCaptcha_SocketClient('LOGIN_DeathByCaptcha', 'PASSWORD_DeathByCaptcha');
  29.  
  30. if ($captcha = $client->decode('captcha.png', DeathByCaptcha_Client::DEFAULT_TIMEOUT)) {
  31. echo "CAPTCHA {$captcha['captcha']} solved: {$captcha['text']}\n";
  32.  
  33. //$curlchanel = curl_init("http://nk.pl/flood_guard_captcha_verification?target=%2F");
  34. $curlchanel = curl_init("http://nk.pl/flood_guard_captcha_verification?target=%2Fmain");
  35. curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
  36. curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
  37. curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
  38. curl_setopt($curlchanel, CURLOPT_HEADER, 0);
  39. curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
  40. curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 0);
  41. //curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("__captcha_a3e3={$captcha['text']}&auto_form_ticket=$tokener"));
  42. curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("auto_form_ticket=$tokener&__utm_admin=%CE%9DO&__captcha_a3e3={$captcha['text']}&simple_button_submit="));
  43.  
  44. $wynik=curl_exec($curlchanel);
  45. // curl_close($curlchanel);
  46. }
  47.  
  48.  
  49. return $t;
  50. }
Azek
O ile mi się zdaje, to forum nie służy do pomocy przy włamaniach...
A chyba do tego korzysta się z serwisu http://www.deathbycaptcha.eu/.
Saki
Cytat(Azek @ 5.03.2013, 11:48:16 ) *
O ile mi się zdaje, to forum nie służy do pomocy przy włamaniach...
A chyba do tego korzysta się z serwisu http://www.deathbycaptcha.eu/.


Włamaniach?
Czy ja się gdziesz próbuje włamać?
phpion
Zgadza się, nie pomagamy w łamaniu/omijaniu zabezpieczeń (jak zwał tak zwał). Captcha jest jednym z zabezpieczeń, a Ty próbujesz ją ominąć. Temat zatem zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.