Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

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





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

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


Witam,
mam taki kod i nie moge za nic zalogować się na pcworld.pl:

  1.  
  2. curl('https://www.pcworld.pl/rejestracja/logowanie/');
  3. function curl1($url)
  4. {
  5. $ch = curl_init($url);
  6. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1) Gecko/20061024 BonEcho/2.0");
  7. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  8. curl_setopt($ch, CURLOPT_COOKIEJAR, "c.txt");
  9. curl_setopt($ch, CURLOPT_COOKIEFILE, "c.txt");
  10. curl_setopt($ch, CURLOPT_POST, true);
  11. curl_setopt($ch, CURLOPT_POSTFIELDS, 'login=mojlogin&haslo=mojehaslo');
  12. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  14.  
  15. $html =curl_exec($ch);
  16.  
  17.  
  18. return $html;
  19. }


Moglby mi ktos pomóc?
Pozdrawiam

Ten post edytował jerry89 18.11.2009, 15:56:25
Go to the top of the page
+Quote Post
karolrynio
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Sprawdź czy c.txt ma prawo do zapisu.
Go to the top of the page
+Quote Post
wry
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 3
Dołączył: 9.06.2007

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


zauwaz ze w js jest przepisywana akcja formularza logowania

document.getElementById("logN").action = 'https://logowanie.idg.pl/rejestracja/przepisz/';


--------------------
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





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

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


Zainstaluj sobie liveheaders do firefoxa i zobacz jakie nagłówki wysyła, może coś pominąłeś?


--------------------
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
jerry89
post
Post #5





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

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


Plik ten ma prawa do zapisu i odczytu.
Mam też liveheaders i oprócz loginu i hasla wysyla równiez ukryte pole strona=http://pcworld.pl ale tak równiez próbowałem i nie idzie...


@wry, co mogę w takiej sytuacji zrobić?

Ten post edytował jerry89 19.11.2009, 19:58:34
Go to the top of the page
+Quote Post
wry
post
Post #6





Grupa: Zarejestrowani
Postów: 32
Pomógł: 3
Dołączył: 9.06.2007

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


sprobuj skierowac curla odrazu na
https://logowanie.idg.pl/rejestracja/przepisz/
i wysli pole strona z wartoscia http://logowanie.idg.pl/badlogin.asp
z tego co widze ze strony przychodzi tylko ciastko sesji, moze szyfrowanei polaczenie robi problem


--------------------
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%)
-----


Cytat(wry @ 20.11.2009, 11:49:25 ) *
sprobuj skierowac curla odrazu na
https://logowanie.idg.pl/rejestracja/przepisz/
i wysli pole strona z wartoscia http://logowanie.idg.pl/badlogin.asp
z tego co widze ze strony przychodzi tylko ciastko sesji, moze szyfrowanei polaczenie robi problem


NIestety nic z tego..
Go to the top of the page
+Quote Post
blusss1
post
Post #8





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

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


Tu masz prosty skrypt do logowania którego używam ja:
Kod
<?php
session_unset(); //dokonujemy zwolnienia wszystkich zmiennych sesyjnych używając tej funkcji
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Proszę się zalogować</title>
</head>

<body>
<form method="post" action="plik_dostepny_po_zalogowaniu.php">
<p>login:
<input type="text" name="user" />
</p>
<p>hasło:
<input type="password" name="pass" />
</p>

<input type="submit" name="Submit" value="Wyślij" />
</p>

</form>
</body>
</html>


Wygląd pliku: "plik_dostepny_po_zalogowaniu.php"
Kod
<?php
ob_start();

session_start();                                         //uruchamia sesję
$_SESSION['username']=$_POST['user'];                     //wartość wpisana z formularza
$_SESSION['userpass']=$_POST['pass'];                     //wartość wpisana z formularza
$_SESSION['authuser']=0;                                                         //sprawdza informacje o nazwie użytkownika i haśle
if(($_SESSION['username']=='wpisz tu login jaki ma być akceptowany') and ($_SESSION['userpass']=='a tutaj hasło po którym ma się logować'))
    {
        $_SESSION['authuser']=1;     //jeśli przekazano poprawną kombinację nazwy użytkownika i hasła, ustawia zmienną sesyjną authuser na 1
    }
else
    {
        echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej witryny";
        exit();
    }
?>
<html>
tutaj masz dalej kod swojej strony
</html>


Mam nadzieje że to coś ci pomoże
Go to the top of the page
+Quote Post
wr24
post
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 29.06.2009

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


blusss jerry'emu chyba nie o to chodzilo smile.gif
jerry sprobuj dostawic takie opcje

curl_setopt($rC, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($rC, CURLOPT_SSL_VERIFYHOST, false);

url ustaw na
https://logowanie.idg.pl/rejestracja/przepisz/

przeslane dane na:
login=xxx&haslo=yyy&strona=http://www.pcworld.pl/news/

jesli dalej nie bedzie smigac wysweitl curlem zawartosc strony
https://www.pcworld.pl/rejestracja/logowanie/
sprawdz czy cos sie wyswietli


--------------------
Go to the top of the page
+Quote Post
jerry89
post
Post #10





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

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


wr24, Wieeelkie dzięki. Logowanie zadzialało. Wszystko smiga jak nalezy. smile.gif
Go to the top of the page
+Quote Post
amii
post
Post #11





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Hmm to może ktoś mi mógł by pomóc bo mam taki kod...
  1. $
  2. ch = curl_init('http://www.maluchy.pl/forum/index.php?act=Login&CODE=01&CookieDate=1');
  3. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1) Gecko/20061024 BonEcho/2.0");
  4. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  5. curl_setopt($ch, CURLOPT_COOKIEJAR, "c.txt");
  6. curl_setopt($ch, CURLOPT_COOKIEFILE, "c.txt");
  7. curl_setopt($ch, CURLOPT_POST, 1);
  8. curl_setopt($ch, CURLOPT_POSTFIELDS, 'UserName=mojuser&PassWord=mojehaslo');
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  10. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  11. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  12. curl_exec($ch);
  13. curl_close($ch);


Problem tutaj to chyba ta zmienna s, jest to jakiś identyfikator sesji, który zmienia się za każdym logowaniem wie ktoś z Was jak to ominąć próbowałem już praktycznie wszystkiego :/


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
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 Aktualny czas: 20.08.2025 - 06:17