Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]curl problem z post
Forum PHP.pl > Forum > Przedszkole
Fifi209
Witam!
Zamierzam zalogować się na swoje konto w grze: plemiona

Tak więc napisałem sobie skrypt:
  1. /*
  2. $post['user'] = 'xxx';
  3. $post['clear'] = 'true';
  4. $post['password'] = 'yyy';
  5. $post['server'] = 'pl34';
  6. $post['cookie'] = 'true';
  7. */
  8. $post = 'user=xxx&clear=true&password=yyy&server=pl34&cookie=true';
  9.  
  10. $c = curl_init();
  11. curl_setopt($c, CURLOPT_URL, 'http://www.plemiona.pl/index.php?action=login');
  12. curl_setopt($c, CURLOPT_REFERER, 'http://www.plemiona.pl/');
  13. curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.2) Gecko/20090729 desktopsmiley_2_2_5643778701369665_44_71 DS_gamingharbor Firefox/3.5.2 (.NET CLR 3.5.30729)');
  14. curl_setopt($c, CURLOPT_HEADER, true);
  15. curl_setopt($c, CURLOPT_POST, true);
  16. curl_setopt($c, CURLOPT_POSTFIELDS, true);
  17. curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
  18. curl_setopt($c, CURLOPT_COOKIEFILE, 'plemiona.cookie');
  19. curl_setopt($c, CURLOPT_COOKIEJAR, 'plemiona.cookie');
  20.  
  21. $p = curl_exec($c);
  22. curl_close($c);
  23.  
  24. echo $p;


Część została objęta komentarzami, gdyż musiałem sprawdzić oba sposoby.
Problem polega na tym, że w odpowiedzi dostaję informację: Nie zaznaczono świata

Szukając rozwiązania natknąłem się na podobny problem, lecz tam nie został rozwiązany...

Pytanie brzmi: co zrobiłem źle? biggrin.gif

Pozdrawiam.
vokiel
Firefox + liveheaders
Logujesz się normalnie przez przeglądarke, patrzysz na nagłówki. Może być tak, że strona dodaje jakieś pole ukryte, albo ważne jest kliknięcie konkretnego przycisku w celu zalogowania, a nie tylko podanie danych typu login + hasło.

btw:
  1. curl_setopt($c, CURLOPT_POSTFIELDS, $post);
thek
Vokiel... Przecież widać wyraźnie po co kolesiowi te informacje skoro używa cURL. Koleś chce sobie napisać bota, grającego za niego. Sorki, ale jako grajacy co jakiś czas w gierki przeglądarkowe takim cheaterom nie pomagam. Ucz się sam i wtedy pisz bota, bo ja do tego ręki nie przyłożę!
Fifi209
Problem rozwiązany, niedopatrzenie...
(notepad++, ctr+d i tak zostało z tym true haha.gif)

Co do bota - nie, nie piszę bota. Plemiona mają zabezpieczenie przed botami.
thek
Nie ma czegoś takiego jak zabezpieczenie przed botami. Jest tylko takie, którego jeszcze nie rozgryziono winksmiley.jpg By się w pełni zabezpieczyć, musiałbyś co akcję robić captchę, a to by wkurzyło wszystkich userów. Jeśli jej nie ma, to znaczy są stosowane tokeny, które można odczytać i nimi manipulować by obejść zabezpieczenie. W jednej z gier MMO w serwisie wp.pl niedawno przeszła niezła burza, gdy się okazało, że wielu z topowych graczy miało boty, które kontrolowały ich konta w sposób sprawiający, że byli niemal nieuchwytni dla innych. A wszystko wyszło, bo na forum odchodzący gracz podał gotowe instrukcje na konkretne akcje i powiedział kto tych botów używa. Wystarczyło zapisać stronę zanim admini skasowali temat i sobie dorobić interfejs oraz oskryptować owe instrukcje. Teraz pojawia się w tej grze co losową liczbę akcji captcha (nawet na kontach płatnych! ) i jest limit akcji na minutę by wpływ botów zminimalizować. Nie grałem w Plemiona, ale jeśli tam się co chwilę captcha nie wywala z kodem to pewnie bot już ktoś napisał i używa, a admini w błogiej niewiedzy żyją smile.gif Napisanie bowiem bota do jakiejkolwiek gry przeglądarkowej to nie kwestia "czy się da?", ale "za ile?" lub "jak szybko?" i cURL gra tutaj pierwsze skrzypce zazwyczaj. Stąd właśnie wszelkie tematy zawierające w poście "pomoc, cURL, gra przeglądarkowa" są dla mnie z mostu podejrzeniem o cheaterstwo. Bo niby czemu miałbyś pisać skrypt specjalnie, skoro możesz wejśc na stronę? By wyświetlić jakieś sumaryczne informacje lub je sparsować? Przykro mi ale w takie bajki mało kto uwierzy smile.gif Rozumiem, ze gracze czasem sobie tworzą pomoce nie mające być botami, ale granica między nimi jest cienka i łatwo ją przekroczyć.

Przepraszam za off-top, ale chciałem Ci wyjaśnić dlaczego uważam tak, a nie inaczej.
Fifi209
Po to jesteśmy programistami aby ułatwiać sobie życie. winksmiley.jpg

W każdej grze są niedopracowania, tutaj np. aby cofać zaproszenia muszę klikać. Wolę napisać skrypt, który sprawdzi datę zaproszenia i jeżeli zaproszenie jest starsze niż x dni to będzie je cofał.

Co do zabezpieczeń, wymyślili oni tak, że co jakiś czas pojawia się okienko i trzeba kliknąć w przerwane okrąg czy jakoś tak. ;d
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.