![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 25.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chcialbym napisac sobie prosty skrypt PHP, ktory zaloguje sie na moje konto w serwisie fotka.pl i sprawdzi czy ktos przypadkiem nie wyslal do mnie wiadomosci. Sprawa wyglada niby prosto, poniewaz takie info dostepne sa zaraz po zalogowaniu.
Do tego celu napisalem sobie kod, ktory zawiera sie w 4 plikach: func_ciastka.php, func_glowna.php, func_logowanie.php i index.php Oto source tych plikow: Kod func_ciastka.php <? function ciastka($dane="") { if ($dane=="") die("brak danych wchodzacych dla funkcji CIASTKA"); $ex=explode("\r\n",$dane); $ciastko=""; for ($i=0;;$i++) { if ($ex[$i]=="") break; $ex2=explode("Set-Cookie: ",$ex[$i]); if ($ex2[1]!="") { $ex3=explode("; expires=",$ex2[1]); $ex4=explode("; path=",$ex3[0]); $ciastko.=$ex4[0].";"; } } return $ciastko; } ?> func_glowna.php Kod <? function glowna($cookies="") { $host="www.fotka.pl"; $path="/index.php"; $port=80; $timeout=10; @$connect=fsockopen($host, $port, $errno, $errstr, $timeout); $error=false; if ($connect) { @fwrite($connect, "GET $path HTTP/1.1\r\n". "Host: $host\r\n". "Cookis: $cookies\r\n". "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7\r\n". "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n". "Accept-Language: pl,en-us;q=0.7,en;q=0.3\r\n". "Keep-Alive: 300\r\n". "Connection: keep-alive\r\n". "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7\r\n". "Connection: close\r\n". "\r\n"); } $link .= fread($connect,4096); $link .= fread($connect,4096); $link .= fread($connect,4096); fclose($connect); return $link; } ?> func_logowanie.php Kod <? function logowanie() { $host="www.fotka.pl"; $path="/login.php?form_login=1"; $zmienne="login=LOGIN&pass=HASLO&back_url=/logout.php"; $cookie=""; @$connect=fsockopen($host,"80", $errno, $errstr,"10"); if ($connect) { $head.= "POST $path HTTP/1.1\r\n"; $head.= "Host: $host\r\n"; $head.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7\r\n"; $head.= "Content-Length: ".strlen($zmienne)."\r\n"; $head.= "Content-Type: application/x-www-form-urlencoded\r\n"; $head.= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"; $head.= "Accept-Language: pl,en-us;q=0.7,en;q=0.3\r\n"; $head.= "Accept-Encoding: gzip,deflate\r\n"; $head.= "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7\r\n"; $head.= "Keep-Alive: 300\r\n"; $head.= "Connection: keep-alive\r\n"; $head.= "Referer: http://www.fotka.pl/login.php?back_url=%2Flogout.php\r\n"; $head.= "\r\n$zmienne\r\n"; @fwrite($connect,$head); } $link=fread($connect,94096); fclose($connect); return $link; } ?> index.php Kod <? include("./func_logowanie.php"); include("./func_ciastka.php"); include("./func_glowna.php"); $logowanie=logowanie(); $cookies=ciastka($logowanie); echo"<tt>"; $log=$logowanie; $log=str_replace("\r\n"," ",$log); echo $log; echo"\n\n\n<hr>\n\n\n"; echo $cookies; echo"\n\n\n<hr>\n\n\n"; $gl=glowna($cookies); $gl=str_replace("\r\n"," ",$gl); echo $gl; ?> Po wpisaniu odpowiedniego loginu i hasla w pliku func_logowanie.php skrypt "nadaje" sie do pracy, jednak kiedy otwieramy po tym index.php widac, ze nie wszystko jest dobrze ... niby otrzymujemy dobre dane zwrotne od serwera w sprawie logowania -> cookies itp, lecz kiedy probuje otworzyc strone index.php gdzie po zalogowaniu jest info o wiadomosciach to nie otwiera strony jako uzytkownik zalogowany lecz jako niezalogowany... kod przegladalem kilka razy, dlugo sie z nim meczylem, dla tego postanowilem napisac na forum, bo sam chyba nie dam rady... prosilbym o rozwiazanie problemu lub chociaz o wskazowki co robie zle. Ps. nie chce uzywac cURL'a wole tym sposobem. Pozdrawiam. Cala sprawa wydaje sie lekko trudna do rozwiazania, ale mam nadzieje, ze znajdzie sie jakis profesjonalista, ktory pomoze mi rozwiazac problem, poniewaz sam nie daje rady, pozdrawiam. Ten post edytował shycat 25.03.2009, 06:23:35 -------------------- Pomogłem? Kilknij "Pomógł"
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 08:49 |