CODE
http://www.jakasstronka.pl/logowanie.php
POST /logowanie.php HTTP/1.1
Host: www.jakasstronka.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.jakasstronka.pl/login.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 37
login=jakislogin&pass=jakieshaslo&submit=Zaloguj
HTTP/1.1 302 Moved Temporarily
Date: Sat, 19 Jun 2010 10:52:32 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.5-pl1-gentoo
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=1347fd201120ffc73dc1405074f99eae; path=/
Set-Cookie: PHPSESSID=1a70b7248455ae298b5ddbae80011f92; path=/
Location: index.php
Content-Length: 0
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/html
----------------------------------------------------------
http://www.jakasstronka.pl/index.php
GET /index.php HTTP/1.1
Host: www.jakasstronka.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.jakasstronka.pl/login.php
Cookie: PHPSESSID=1a70b7248455ae298b5ddbae80011f92
HTTP/1.1 200 OK
Date: Sat, 19 Jun 2010 10:52:32 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.5-pl1-gentoo
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
POST /logowanie.php HTTP/1.1
Host: www.jakasstronka.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.jakasstronka.pl/login.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 37
login=jakislogin&pass=jakieshaslo&submit=Zaloguj
HTTP/1.1 302 Moved Temporarily
Date: Sat, 19 Jun 2010 10:52:32 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.5-pl1-gentoo
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=1347fd201120ffc73dc1405074f99eae; path=/
Set-Cookie: PHPSESSID=1a70b7248455ae298b5ddbae80011f92; path=/
Location: index.php
Content-Length: 0
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/html
----------------------------------------------------------
http://www.jakasstronka.pl/index.php
GET /index.php HTTP/1.1
Host: www.jakasstronka.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.jakasstronka.pl/login.php
Cookie: PHPSESSID=1a70b7248455ae298b5ddbae80011f92
HTTP/1.1 200 OK
Date: Sat, 19 Jun 2010 10:52:32 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.5-pl1-gentoo
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Przy okazji dlaczego są dwie różne wartości PHPSESSID? Po co jest ta pierwsza?
Ok nieważne, następnie stworzyłem taki pomocniczy plik t.php w którym jest:
<?php $g = $_GET['ciacho']; $ch = curl_init('http://jakasstronka.pl/index.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_COOKIE,'PHPSESSID='.$g); $odpowiedz = curl_exec($ch); curl_close($ch); ?>
I teraz tak: Po zalogowaniu się przez przeglądarkę i odczytaniu tej drugiej wartości PHPSESSID z Live HTTP headers, wywołałem w przeglądarce mój plik t.php z przekazaniem PHPSESSID czyli: http://localhost/q/t.php?ciacho=1a70b72484...b5ddbae80011f92 (w tym przypadku tak to wyglądało). No i wszystko ok, ukazała mi się stronka i byłem zalogowany, więc wymyśliłem, że napiszę sobie plik index.php:
<?php function createPostString($aPostFields) { foreach ($aPostFields as $key => $value) { } }; $postfields['login']='jakislogin'; $postfields['pass']='jakieshaslo'; $postfields['submit']='Zaloguj'; $ch = curl_init('http://jakasstrona.pl/logowanie.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postfields)); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); $naglowki = curl_exec($ch); $uciete = stristr($naglowki, 'phpsessid='); // ta i ponizsze linijki wyciagaja z naglowkow wlasnie ta druga wartosc PHPSESSID i zapisuja do zmiennej $ciastko curl_close($ch); echo '<br><a href="http://localhost/q/t.php?ciacho='.$ciastko.'">t.php</a>'; //link do pliku t.php z przekazaniem ciastka ?>
Hmm i tu jest pies pogrzebany. Na pewno tu jest coś nie tak ale nie wiem co. Po kliknięciu na link nie jestem zalogowany. Męczę się z tym już naprawdę sporo czasu i proszę o pomoc bo mnie krew zalewa już.
Nie wiem czy to się komuś przyda, ale jak wejdę na mój index.php to źródło strony wygląda tak:
HTTP/1.1 200 OK Date: Sat, 19 Jun 2010 11:17:44 GMT Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.5-pl1-gentoo Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=dd3f054ce2cf2371cbd0971609911c56; path=/ Set-Cookie: PHPSESSID=78a3e0a3d104885d011ebb741fbcab0e; path=/ Content-Type: text/html
Z tego wynika, że dobrze zrobiłem wyodrębnienie tego drugiego PHPSESSID bo w linku jest to ładnie zawarte. Nie mam siły już do tego... Proszę pomóżcie
