![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 2 Dołączył: 24.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam chce sie zalogowac na moje konto na erepublik.com w celu pobrania czesci informacji... Pewnie ktos powie ze jest od tego api ale ja chce pobrac wartosc pensji moich pracownikow a tego tam niema. Dobra to wyglada to tak uzywam ponizszego kodu i po jego uzyciu otrzymuje komunikat "CSRF attack detected.", chce sie tylko zalogowac token pobieram wiec dlaczego dostaje taki komunikat?
Kod <?php
function token($content) { preg_match("@<input type=\"hidden\" id=\"_token\" name=\"_token\" value=\"(.*?)\" \/>@i", $content, $w); return $w[1]; } $hand = curl_init(); //pobieranie tokena curl_setopt($hand, CURLOPT_URL, 'http://www.erepublik.com/en/login'); curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1); curl_setopt($hand, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1)"); $p=curl_exec($hand); $token = token($p); //logowanie curl_setopt($hand, CURLOPT_URL, 'http://www.erepublik.com/en/login'); curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1); curl_setopt($hand, CURLOPT_POST, 1); curl_setopt($hand, CURLOPT_POSTFIELDS, "_token={$token}&citizen_name=login&citizen_password=haslo&commit=Login"); curl_setopt($hand, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1)"); $p=curl_exec($hand); echo htmlspecialchars($p); curl_close($hand); ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
może za szybko wykonujesz czynności i skrypt to wykrywa i uznaje Cię za bota?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 2 Dołączył: 24.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
dalem sleep(5) i nic niedalo, ten sam komunikat. jezeli komus sie niechce rejestrowac to podaje konto testowe login i haslo: atmeras
Ten post edytował siurek22 15.06.2009, 10:43:57 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 20.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jako nagłówek Referer musisz przed próbą zalogowania ustawić http://www.erepublik.com/en - wtedy loguje się bez problemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
-dwuklik- |
![]()
Post
#5
|
Goście ![]() |
hm... odświerzam temat z przed 2 lat. również staram się zalodować z PHP. pewnie się wycwanili, bo pomimo ustawienia referrera, dalej wyłapują mnie jako atak. komuś udało się obejść?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Musisz wykonać 2 czynności. Wejść na stronę i pobrać token:
A następnie zalogować się, dodając dodatkowy parametr _token, z wcześniej pobraną zawartością. Z tym że przy każdym wejściu poprzez curl na stronę, nie musisz nawet trzymać tego samego ciasteczka, bo z tego co zauważyłem to token nie jest jakoś ustalany na podstawie sesji, a raczej na podstawie adresu IP, oraz user agenta przeglądarki, tak więc trzymaj wszędzie tego samego user agenta. Ten post edytował by_ikar 2.01.2012, 15:11:26 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:52 |