Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Curl i ssl, problem z zalogowaniem
blackroger
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

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


Witam. Mam problem z zalogowaniem się do Banku za pomocą curla. Curl nie jest mi obcy jakkolwiek nigdy jeszcze nie używałem go z SSL. I teraz pojawia się problem... Zaraz po wejściu na stronę główną dostaje długie ciasteczko, potem odrazu zostaje przekierowywany na następną stronę, gdzie zostaje do adresu za pomocą GET'a przypięty rid=....., który jak mniemam jest generowany poprzez moje ciasteczko, które wcześniej dostałem. Tutaj jest miejsce na login, który mogę wpisać. I teraz jak się za to zabrać? Wszystkie serwisy oparte na cookies, nie są jakimś nadzwyczajnym problemem....wejscie na strone, ciasteczko, potem znowu wejscie, ciasteczko, dane post i juz sie ma to co sie chce. Tu natomiast mam problem. Czy jest ktoś w stanie mi pomóc?
Poniżej funkcja realizująca zapytanie cookie, post.
  1. <?php
  2. public function conn_post_cookie($str_http, $in_timeout, $bool_followlocation, $bool_rtransfer, $str_array_args){
  3.        
  4.        $str = $this->post_fields($str_array_args);
  5.        
  6.        $curl = curl_init();
  7.        
  8.        curl_setopt($curl, CURLOPT_URL, $str_http);
  9.        curl_setopt($curl, CURLOPT_TIMEOUT, $in_timeout);
  10.        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, $bool_followlocation);
  11.        curl_setopt($curl, CURLOPT_RETURNTRANSFER, $bool_rtransfer);    //if '1' everything goes to var, '0' only success - 1 or failed - 0
  12.        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
  13.            $headers = array('Accept-Language: pl,en-us;q=0.7,en;q=0.3',
  14.                            'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7');
  15.        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
  16.        //curl_setopt($curl, CURLOPT_HEADER, 1);    //server headers
  17.        
  18.        curl_setopt($curl, CURLOPT_POST, 1);//post method
  19.        curl_setopt($curl, CURLOPT_POSTFIELDS, $str);        
  20.  
  21.        curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookies.txt');
  22.        curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookies.txt');
  23.        
  24.        //curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  25.        //curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
  26.    
  27.        ob_start();
  28.        $source=curl_exec($curl);
  29.        ob_end_clean();    
  30.        curl_close($curl);
  31.  
  32.        if (!$source)
  33.            throw new Exception('Connection failed or website does not exist!');
  34.        else{
  35.            return $source;
  36.        }
  37.    }
  38. ?>


Jakby ktoś mógł mi jeszcze rozjaśnić funkcje (ale dokładnie)
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
to byłbym wdzięczny....

Poniżej przedstawię jeszcze jak sie ma sprawa:
Wpisuje w przeglądarce:
www.ebank.pl
dostaje ciasteczko
Następuje przekierowanie:
https://www.ebank.pl/jbank-web/jbank/unlogged/loginUser.do?rid=0.9849224543367993<-identyfikator przy adresie
pojawia sie ekran z logowaniem...
gdy wpiszę login to wysyła dane POST, gdzie jest moj login i sequenceId=...........(nie wiem skąd to bierze) oraz te długie cookies. Nie ogarniam tego, dlatego pytam sie czy w curlu cały ten mechanizm jest w jakiś sposób zautomatyzowany? I czy te dwie powyższe funkcje powinny załatwić sprawę...?

Ten post edytował blackroger 4.03.2009, 22:22:28
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.09.2025 - 08:19