Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][cURL] Logowanie i ereg()
Komiłaj
post 12.02.2011, 21:53:37
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

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


Chcę, aby skrypt zalogował się cURLem na www.ang.pl
Daję kod:
  1. <?
  2. $c = curl_init('http://www.ang.pl/login');
  3. curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file);
  4. curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file);
  5. curl_setopt($c, CURLOPT_URL, 'http://www.ang.pl/');
  6. 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");
  7. curl_setopt($c, CURLOPT_POST, 1);
  8. curl_setopt($c, CURLOPT_POSTFIELDS,
  9. 'user_name=login&user_pass=haslo');
  10. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  11. curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
  12. echo $s = curl_exec($c);
  13. curl_close($c);
  14. ?>


I zwraca normalną stronę jako niezalogowany. Co zrobić, aby skrypt się logował?
Go to the top of the page
+Quote Post
cycofiasz
post 12.02.2011, 22:24:26
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Może parametr csrf jest wymagany? Ustawiłeś chociaż $cookie_file ?
Go to the top of the page
+Quote Post
Komiłaj
post 12.02.2011, 22:54:37
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

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


Ustawiłem już przedtem jako pusty plik, więc chyba nie to.
Go to the top of the page
+Quote Post
cycofiasz
post 12.02.2011, 23:01:28
Post #4





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Musisz najpierw pobrać stronę logowania , z niej wyciągnąć wartość parametru csrf a następnie go wysłać wraz z loginem i hasłem
Go to the top of the page
+Quote Post
Komiłaj
post 13.02.2011, 11:53:36
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

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


Wydaje mi się, że to serwis się broni jakoś. Próbowałem tym samym skryptem na inną stronę i się udało ładnie. Da się temu zaradzić?
Go to the top of the page
+Quote Post
Fifi209
post 13.02.2011, 12:05:18
Post #6





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

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


Cytat(cycofiasz @ 12.02.2011, 23:01:28 ) *
Musisz najpierw pobrać stronę logowania , z niej wyciągnąć wartość parametru csrf a następnie go wysłać wraz z loginem i hasłem



Cytat(Komiłaj @ 13.02.2011, 11:53:36 ) *
Wydaje mi się, że to serwis się broni jakoś. Próbowałem tym samym skryptem na inną stronę i się udało ładnie. Da się temu zaradzić?

A potrafisz czytać kolego?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Komiłaj
post 13.02.2011, 15:45:41
Post #7





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

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


Musiało dojść do mnie, że w tym formularzu jest też pole csrf (:

Działa, ale tylko na localhoście. Na 2ap, czy innym ugu już nie. cURL mają tam włączony (sprawdzałem phpinfo).
Go to the top of the page
+Quote Post
Fifi209
post 13.02.2011, 16:07:36
Post #8





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

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


Za sprawą CURL_FOLLOWLOCATION, oznacza to że masz włączony safe_mode a więc hosting możesz zmienić bo jest do d*py. smile.gif Już się tego nie używa.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Komiłaj
post 13.02.2011, 18:34:01
Post #9





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

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


safe_mode jest wyłączony: http://screenshooter.net/9373296/skrin_4 , a strona i tak nic nie zwraca. Może być tak dlatego, że używam potem w skrypcie ereg(), a nie preg_match()?
Go to the top of the page
+Quote Post
Fifi209
post 13.02.2011, 22:50:07
Post #10





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

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


Całkiem możliwe, co można przeczytać w dokumentacji, ereg() zostało usunięte
Cytat
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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 Wersja Lo-Fi Aktualny czas: 29.06.2025 - 10:48