Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Curl i logowanie
jerry89
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 14.08.2007

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


Witam, chcialbym się automatycznie zalogowac na daną storne za pomocą curl. Jestem poczatkujacy i napisałem a reczej zlepiłem cos takeigo:
CODE
function createPostString($aPostFields) {
foreach ($aPostFields as $key => $value) {
$aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
}
return implode('&', $aPostFields);
}

$postFields['email'] = 'mojemail';
$postFields['password'] = 'haselko';
$ch = curl_init('https://www.strona/login.php?url=%2Fpodstrona.php');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3');
curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
curl_setopt( $ch, CURLOPT_POST, TRUE );

curl_exec($ch);
curl_close($ch);
?>


Jednak po odpaleniu skryptu w przeglądarcę widac jedynie stronę logowania danego aadresy wiec jak widać nie dziala. Co moze byc przyczyna? Nie za bardzo wiem jak sie za to zabrac..
Go to the top of the page
+Quote Post
Zmorcia
post
Post #2





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

Ostrzeżenie: (20%)
X----


jeżeli próbujesz zalogować sie na nasza-klasa to nic z tego ;/
Go to the top of the page
+Quote Post
jerry89
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 14.08.2007

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


Nie, nie jest to moim marzeniem i nie próbuje tego robic bo to nie jest mi potrzebne..(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) takze mogę liczyc na pomoc?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Chcę dokopac się po prostu do dropped.pl/check3.php. Napisałem cos takiego ale nadal nie chce dzialac. Pojawia sie nadal ekran z logowaniem.Oto kod:

Kod
<?php
function curl_it($method, $target, $post_var=false){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $target);
  curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
  curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');

  if ($method == 'POST') {
      curl_setopt($ch, CURLOPT_POST, 1);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_var);
  }

  $result = curl_exec($ch);
  curl_close($ch);
  return $result;
}


echo curl_it('', 'http://www.dropped.pl/login.php');

echo curl_it('POST', 'http://www.dropped.pl/login.php', 'do=1&url=/check3.php&email=mojemail&password=mojehaslo');
//lub echo curl_it('POST', 'http://www.dropped.pl/login.php', 'do=1&url=&email=mojemail&password=mojehaslo'); tez nie działa

echo curl_it('', 'http://www.dropped.pl/check3.php');
?>


A nizej formularz z login.php:
Kod
<form action="https://www.dropped.pl/login.php" method="post">
<input type="hidden" name="do" value="1">
<input type="hidden" name="url" value="">

<span style="float:left; padding: 1px; margin: 1px; ">
Adres email:
<br><input type="text" name="email" style="width:300px" class="inputg" value="niezdow@o2.pl">
</span>
<br clear="left">

<span style="float:left; padding: 1px; margin: 1px; ">
Hasło:
<br><input type="password" name="password" style="width:300px" class="inputg">
</span>
<br clear="left">


<p><input type="submit" value="Logowanie" class="inputb" style="margin: 2px; vertical-align: middle">
<a href="lostpass.php">Zapomniałem hasła</a>


</form>

Ten post edytował jerry89 22.12.2008, 18:28:07
Go to the top of the page
+Quote Post
than
post
Post #4





Grupa: Zarejestrowani
Postów: 32
Pomógł: 4
Dołączył: 22.01.2008

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


Przegapiłeś że dane są wysyłane pod inny adres https://www.dropped.pl/login.php

@Zmorcia
Widzisz jakiś problem w takim logowaniu?

Ten post edytował than 23.12.2008, 02:31:33
Go to the top of the page
+Quote Post
jerry89
post
Post #5





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 14.08.2007

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


Dzięki. wygląda na to ze teraz działa.(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A mam jeszcze takie pytanie troche z innej beczki. Muszę w zmiennej wysłac kilka wartosci do formularza jednak te wartosci musza byc juz w nowych liniach kazdy. Jak to zrobic? Jak wstawic znak nowej linii?? Odrazu mówię że $zmienna='wartosc1\nwartosc2'; wysyła do formularze zwyczajnie wartosc1\nwartosc2' czyli niepoprawnie.

EDIT:
spoko juz sobie poradzilem, jakby ktos nie wiedział to do teog sluzy "\r\n".

N o i znow pojawił sie problem.. skrypt działał prawidlowo jednak teraz dostałem chyba jaiegos bana na konto albo nie wiem, po zadziałaniu/spawdzeniu jakiejkolwiek domeny w panelu dropped wywala mi biała strone...Ktos wie jak to ominąc?

Ten post edytował jerry89 23.12.2008, 16:30:38
Go to the top of the page
+Quote Post
than
post
Post #6





Grupa: Zarejestrowani
Postów: 32
Pomógł: 4
Dołączył: 22.01.2008

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


Za mało wiemy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jerry89
post
Post #7





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 14.08.2007

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


Mozesz sprecyzowac?
Działałem na skrypcie dostpenym po zalogowaniu w dropped.pl/check3.php do sprawdzania dostpenosci domen. Wszystko smigalo elegancko do pewnego momentu. Teraz zaczeło wywalać białą strone czy działam skryptem czy tez recznie wejde i sprawdze jakakolwiek domenke. Wiem ze na kolegi koncie nie wywala białej strony, jest ok. Zastanawiam sie wlasne czy to jakas blokada na konto ze strony serwisu czy co? Czy mogę ja jakos ominac, załozenie nowego konta wydaje sie byc rozwiazaniem ale na jak dlugo.. raczej niedlugo.
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Zastanawiam sie wlasne czy to jakas blokada na konto ze strony serwisu czy co? Czy mogę ja jakos ominac, załozenie nowego konta wydaje sie byc rozwiazaniem ale na jak dlugo.. raczej niedlugo.

Sobie przecież odpowiedziałeś. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Usługodawcy zabezpieczają się przed takimi praktykami.
Go to the top of the page
+Quote Post
than
post
Post #9





Grupa: Zarejestrowani
Postów: 32
Pomógł: 4
Dołączył: 22.01.2008

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


Ograniczenie ilości zapytań też tam chyba jest, ale nie jestem pewien.
Go to the top of the page
+Quote Post
ebooki24
post
Post #10





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.03.2007

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


Zastanawialem sie wlasnie nad ta nasza-klasa, zalogowac moge sie normalnie w curlu, ale juz za bata nie moge w nim wyslac zaproszenia nikomu. W profilu jest button z jednym polem hidden t=(jakis kod) i wysyla dane do invite/numerid, gdy recznie wpisze nasza-klasa.pl/invite/numerid to blad 403, ale gdy w skrypcie wysle formularz tam z tym t=(jakis kod) to zwraca mi link z przekierowaniem na nasza-klasa.pl/friends i dalej nie wiem co z tym zrobic. Gdy uzytkownik klika w button to spowrotem przekierowuje go na profile/numerid

Wiecie o co chodzi i jak to mozna rozwiazac?
to moj kod:
  1. <?php
  2. function createPostString($aPostFields) {
  3.   foreach ($aPostFields as $key => $value) {
  4.       $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  5.   }
  6.   return implode('&', $aPostFields);
  7. }
  8.  
  9. $postFields['login'] = 'xxx';
  10. $postFields['password'] = 'xxx';
  11. $ch = curl_init('http://nasza-klasa.pl/login');
  12. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  13. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
  14. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg', 'Connection: Keep-Alive', 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'));
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  17. curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
  18. curl_setopt($ch, CURLOPT_HEADER, 0);
  19. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
  20. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
  21. curl_setopt($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
  22. curl_exec($ch);
  23.  
  24.  
  25. curl_setopt($ch, CURLOPT_URL, "http://nasza-klasa.pl/profile/1234567");
  26. $result = curl_exec($ch);
  27. preg_match('#name="t" value="(.*?)"#', $result, $t);
  28.  
  29. $postFields['t'] = (string) $t[1];
  30. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  31. curl_setopt($ch, CURLOPT_URL, "http://nasza-klasa.pl/invite/1234567");
  32. $result = curl_exec($ch);
  33.  
  34. echo $result;
  35. ?>


Czy da sie jakos przechwycic co wysyla ich serwer podczas przekierowania?

Ten post edytował ebooki24 24.12.2008, 11:56:53
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: 22.08.2025 - 23:39