Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> cURL i logowanie na IPB
pablo114
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


Witam,

Tworze skrypt do logowania na różne skrypty forum (phpBB, vBulletin, IPB) i napotkałem problem przy właśnie wspomnianym IPB. Wydaje się, że stosuje dobrą metodę i dane trafiają do skryptu natomiast i tak po przesłaniu danych zwraca mi błąd o treści:
Cytat
[#10193] We encountered a problem processing your login request


Jeśli chodzi o moje metody to tak:

Ustawienia cURLa
  1. $curl = curl_init();
  2. curl_setopt($curl, CURLOPT_URL, $addr);
  3. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($curl, CURLOPT_COOKIESESSION, 1);
  5. curl_setopt($curl, CURLOPT_COOKIEFILE, 'includes/cookies.txt');
  6. curl_setopt($curl, CURLOPT_COOKIEJAR, 'includes/cookies.txt');
  7. curl_setopt($curl, CURLOPT_HEADER, $head);
  8. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  9. curl_setopt($curl, CURLOPT_REFERER, $ref);
  10. curl_setopt($curl, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:6.0.1) Gecko/20100101 Firefox/6.0.1');
  11. curl_setopt($curl, CURLOPT_POST, 1);
  12. if(!empty($args))
  13. curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
  14. $output = curl_exec($curl);
  15. curl_close($curl);


Jeśli chodzi o dane które wysyłam to:
  1. 'auth_key='. $result[0] .'&referer=http://mypage.com/ipb/index.php&ips_username='. $login .'&ips_password='. $password .'&rememberMe=1'

Zmienne $login i $password zawierają oczywiście dane użytkownika a tablica $result[0] to token bezpieczeństwa pobierany poprzez preg_match().

A i nie wiem dlaczego ale cURL nie zapisuje mi ciasteczek. Plik na pewno istnieje.

Czegoś mi brakuje? Sprawdzając dane nagłówka w Firefoxowym Live HTTP Headers widze, że przesyłane jest tylko te 5 pól. Wersja IPB to 3.2.0.

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


przy cookiejar i cookiefile

dirname(__FILE__).'sciezka'
Go to the top of the page
+Quote Post
pablo114
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


Dzięki z tym, moje przeoczenie. No ale dalej sie zalogować nie da..
Go to the top of the page
+Quote Post
amii
post
Post #4





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Co zwraca $output ?
Go to the top of the page
+Quote Post
pablo114
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


Cytat
Co zwraca $output ?


Strone logowania IPB z komunikatem o błędzie wyżej przedstawionym:
Cytat
[#10193] We encountered a problem processing your login request
Go to the top of the page
+Quote Post
lobopol
post
Post #6





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Prosta sprawa ipb ma zabezpieczenie przed cssrf pod postacią tokena w formularzu (pole auth_key) musisz je najpierw pobrać i na tej samej sesji je wysłać razem z danymi do logowania.
Go to the top of the page
+Quote Post
pablo114
post
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


Doskonale o tym wiem. Tak jak napisałem w pierwszej wiadomości, tablica $result zawiera właśnie ten token który jest przesyłany z polem auth_key. No i wyskakuje tamten errorek wciąż.

EDIT: Mój błąd przy preg_matchu - przesyłałem nie ten token... zamiast ipb.vars['secure_hash'] wysylalem ipb.vars['session_id']. Dzięki za pomoc.

Ten post edytował pablo114 8.09.2011, 12:57:24
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 01:43