Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie do Ogame
Xaar
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2009

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


Witam,

od dłuuugiego czasu walczę z logowaniem do Ogam - klon Ogame. Nie rozumiem problemu. Wzorowałem się tym działającym skrypcie do zalogowania na nasza klasę: TOPIC

Mój skrypt wygląda następująco:
  1. <?php
  2. $cookie_file = tempnam("tmp", "cookies");
  3.  
  4. $c = curl_init('http://ogam.net.pl/');
  5. curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file);
  6. curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file);
  7. curl_setopt($c, CURLOPT_URL, 'http://ogam.net.pl/login.php');
  8. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
  9. curl_setopt($c, CURLOPT_POST, 1);
  10. curl_setopt($c, CURLOPT_POSTFIELDS,
  11. 'timestamp=1173621187&v=2&username=xaar&password=******&Uni=ogam.net.pl%2Fs1%2Flogin.php&submit=Login');
  12. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  13. curl_getinfo($c);
  14. $s = curl_exec($c);
  15. curl_close($c);
  16.  
  17. $ch = curl_init();
  18. $url = 'http://ogam.net.pl/s1/overview.php';
  19. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  20. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  21. curl_setopt($ch, CURLOPT_URL, $url);
  22. curl_setopt($ch, CURLOPT_HEADER, 0);
  23. curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  24. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
  25. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  26. $site = curl_exec($ch);
  27. echo $site;
  28. ?>


Dostaję komunikat, że użytkownik nie jest zalogowany poprawnie.
Byłbym wdzięczny za wskazanie błędu.

Jakieś pomysły?
Albo przynajmniej ogólny kierunek co może być źle?

Ten post edytował Xaar 9.02.2009, 01:53:52
Go to the top of the page
+Quote Post
djstrong
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 22.09.2006

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


1. bodajże niepełne urlencode w POST
2. brak pełnych nagłówków przeglądarki, przez co mogą blokować
3. za pewne trzeba coś inaczej/jeszcze zrobić
Go to the top of the page
+Quote Post
ddiceman
post
Post #3





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Zmien tez timestamp
w
  1. <?php
  2. curl_setopt($c, CURLOPT_POSTFIELDS,
  3. 'timestamp=1173621187&v=2&username=xaar&password=******&Uni=ogam.net.pl%2Fs1%2Flogin.php&submit=Login');
  4. ?>

na aktualniejszy - domyslam sie, ze skoro jest ten parametr uzywany, to z jakiegos powodu - np. do weryfikacji, czy sesja nie wygasla etc. Sprobuj tam wstawic po prostu time();:
  1. <?php
  2. curl_setopt($c, CURLOPT_POSTFIELDS,
  3. 'timestamp='.time().'&v=2&username=xaar&password=******&Uni=ogam.net.pl%2Fs1%2Flogin.php&submit=Login');
  4. ?>
Go to the top of the page
+Quote Post
Xaar
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2009

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


Sprawdzałem za pomocą Live HTTP i timestamp zawsze przy logowaniu idzie ten sam.
Go to the top of the page
+Quote Post
djstrong
post
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 22.09.2006

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


Cytat(Xaar @ 10.02.2009, 09:46:22 ) *
Sprawdzałem za pomocą Live HTTP i timestamp zawsze przy logowaniu idzie ten sam.

No to jak wiesz jak to się robi, to zrób w php żeby dokładnie taki sam pakiet poleciał. Czyli te wszystkie nagłówki przeglądarki itd.
Może wystarczy sam referer.

Ten post edytował djstrong 10.02.2009, 10:54:24
Go to the top of the page
+Quote Post
ddiceman
post
Post #6





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Czestym bledem jest jeszcze fakt, ze nie mozesz zapisac danych o sesji do COOKIEFILE/COOKIEJAR : wyswietl sobie na koncu gdzies $cookie_file i zobacz, czy zapisuja sie do niego dane sesji. CURL nie da Ci znac, ze ma z tym problem a fizycznie nie zadziala (bo nie przechwyci danych sesyjnych).
Nie wiem tez, czy serwer nie wysyla Ci redirecta, wiec moze jeszcze CURLOPT_FOLLOWLOCATION
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 Aktualny czas: 20.08.2025 - 06:31