Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Logowanie przez PHP na inną strone WWW
dram
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


Witam. https://store.steampowered.com/login/?snr=1_4_4__11

Chciałbym się zalogować tutaj aby potem wykonywać określone czynności skryptem(będę wysłał zaproszenie). Prosiłbym o jakieś wskazówki tak abym mógł się zalogować na stronę.
Nie mam zielonego pojęcia jak się za to zabrać, wujek (google) milczy w tych sprawach
Go to the top of the page
+Quote Post
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Cytat(dram @ 25.10.2011, 22:37:40 ) *
wujek (google) milczy w tych sprawach

Nieprawda
Go to the top of the page
+Quote Post
dram
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


Właśnie przed momentem to znalazłem. Narazie dzięki bedę pisać jak nie będę wiedział
Go to the top of the page
+Quote Post
solr
post
Post #4





Grupa: Zarejestrowani
Postów: 43
Pomógł: 8
Dołączył: 11.08.2010

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


Jak nie umiesz pytać, to nie dostaniesz odpowiedzi. Zainteresuj się czyś takim jak CURL. Do tego wyrażenia regularne. Pomocne mogą być pluginy do Firefoxa: Webdeveloper (m. in. pokazuje szczegóły formularza) i Live HTTP Headers (do śledzenia żądań i odpowiedzi). Generalnie to Twoje zadanie polega na tym, żeby wysyłać żądanie i za pomocą wyrażeń regularnych wyodrębnić niezbędne dane itd, aż dostaniesz to co chcesz. Jeśli dopiero zaczynasz zabawę z programowaniem (a po pytaniu wnioskuje, że tak), to będzie ciężko.

Najlepiej to sobie kup i przeczytaj (i zrozum): http://www.amazon.com/Webbots-Spiders-Scre...;sr=1-2-catcorr lub
http://www.phparch.com/books/phparchitects...aping-with-php/
Go to the top of the page
+Quote Post
Ulysess
post
Post #5





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


wykorzystując biblioteke CURLa wysyłasz postem dane potrzebne do zalogowania, do tego przydatny staje się plugin live http headers którym możesz zweryfikować jakie dane są wysyłane przy logowaniu na strone, dalej to już pobierasz treść strony przetwarzasz ją i tyle
Go to the top of the page
+Quote Post
dram
post
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


Cytat(Ulysess @ 25.10.2011, 23:03:51 ) *
wykorzystując biblioteke CURLa wysyłasz postem dane potrzebne do zalogowania, do tego przydatny staje się plugin live http headers którym możesz zweryfikować jakie dane są wysyłane przy logowaniu na strone, dalej to już pobierasz treść strony przetwarzasz ją i tyle


W jaki sposób?
Go to the top of the page
+Quote Post
darko
post
Post #7





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Poszukaj i przejrzyj kilka pierwszych wyników.
Go to the top of the page
+Quote Post
dram
post
Post #8





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


Wybaczcie że odświeżam ale zabrałem się za to otóż tak:
  1. $postFields['username'] = 'xxx';
  2. $postFields['password'] = 'xxxx';
  3. $ch = curl_init('https://store.steampowered.com/login/');
  4. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  5. curl_exec($ch);
  6. curl_close($ch)


Próbuje w ten sposób jednak nic się nie dzieje tzn w jak otwieram przez przeglądarke ten plik php z tym skryptem to otwiera mi się strona https://store.steampowered.com/login/
jednakże z ekranem logowania...

  1. <input name="snr">
  2. 1_60_4__60
  3. <input name="redir">
  4. <a href="http://store.steampowered.com/" target="_blank">http://store.steampowered.com/</a>
  5.  
  6. <input id="input_username" name="username">
  7. <input id="input_password" name="password">
  8.  
  9. <input id="emailauth" name="emailauth"> <!-- nie widac tych 2 rzeczy(tej i tej nizej)
  10. <input id="emailsteamid" name="emailsteamid">


Wyciągnąłem coś takiego, pierwsze dwa inputy są uzupełnione tym co napisałem tam(pod inputem)
dwa środkowe to są jako jedyne widoczne inputy na stronie.
dwa ostatnie status hidden(nie widać ich i brak domyślnie wpisanych wartości)

Próbowałem nawet wszystko uzupełniać nadal to samo pokazuje mi się strona logowania cały czas.

Pomysły jakieś?
Go to the top of the page
+Quote Post
darko
post
Post #9





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Może mają zabezpieczenie przed takimi próbami logowania?
// edit
jeśli to logowanie bezpieczne to zerknij tutaj

Ten post edytował darko 31.10.2011, 12:33:08
Go to the top of the page
+Quote Post
dram
post
Post #10





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


  1. $postFields['username'] = 'xxx';
  2. $postFields['password'] = 'xxxx';
  3. $ch = curl_init('https://store.steampowered.com/login/');
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  5. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  6. curl_exec($ch);
  7. curl_close($ch);


Nadal to samo tj. Widać strone po angielsku.
Go to the top of the page
+Quote Post
darko
post
Post #11





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nie chcę Cię prowadzić jak dziecko we mgle, ale jak dla mnie np. to:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
jest różne temu:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
ps. wygeneruj sobie tzw self-signed SSL, np. za pomocą OpenSSL
Go to the top of the page
+Quote Post
dram
post
Post #12





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


spróbowałem bez generowania ssl bo coś mi nie wychodzi.

  1. $zrodlo_ssl = getcwd() . "/store.steampowered.crt";
  2. $ch = curl_init('https://store.steampowered.com/login/');
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  6. curl_setopt($ch, CURLOPT_CAINFO, $zrodlo_ssl);
  7. curl_exec($ch);
  8. curl_close($ch);


Teraz wynikiem jest pusta strona (biała kartka (IMG:style_emoticons/default/tongue.gif) )

Nie mam sił na to
Go to the top of the page
+Quote Post
Alson
post
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 10.03.2010
Skąd: Gniezno

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


Cytat(dram @ 1.11.2011, 21:37:40 ) *
spróbowałem bez generowania ssl bo coś mi nie wychodzi.

  1. $zrodlo_ssl = getcwd() . "/store.steampowered.crt";
  2. $ch = curl_init('https://store.steampowered.com/login/');
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  6. curl_setopt($ch, CURLOPT_CAINFO, $zrodlo_ssl);
  7. curl_exec($ch);
  8. echo($ch); // taki maly lolz ;]
  9. curl_close($ch);


Teraz wynikiem jest pusta strona (biała kartka (IMG:style_emoticons/default/tongue.gif) )

Nie mam sił na to


Powodzenia.
Powód edycji: [Daiquiri]: Daruj sobie proszę, takie nabijanie postów.
Go to the top of the page
+Quote Post
dram
post
Post #14





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.10.2011

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


Up@ twój kod:
  1. $zrodlo_ssl = getcwd() . "/store.steampowered.crt";
  2. $ch = curl_init('https://store.steampowered.com/login/');
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  6. curl_setopt($ch, CURLOPT_CAINFO, $zrodlo_ssl);
  7. curl_exec($ch);
  8. echo($ch); // taki maly lolz ;]
  9. curl_close($ch);


Daje na stronie:
  1. Resource id #1
Go to the top of the page
+Quote Post
darko
post
Post #15





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nie mam czasu zgłębić problemu, więc strzelam. Może spróbuj skorzystać z bibliotek openID i użyj api społeczności?
Go to the top of the page
+Quote Post
Alson
post
Post #16





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 10.03.2010
Skąd: Gniezno

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


Cytat(dram @ 2.11.2011, 23:01:23 ) *
Up@ twój kod:
  1. $zrodlo_ssl = getcwd() . "/store.steampowered.crt";
  2. $ch = curl_init('https://store.steampowered.com/login/');
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  6. curl_setopt($ch, CURLOPT_CAINFO, $zrodlo_ssl);
  7. curl_exec($ch);
  8. echo($ch); // taki maly lolz ;]
  9. curl_close($ch);


Daje na stronie:
  1. Resource id #1


Do daj

  1. $zrodlo_ssl = getcwd() . "/store.steampowered.crt";
  2. $ch = curl_init('https://store.steampowered.com/login/');
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  6. curl_setopt($ch, CURLOPT_CAINFO, $zrodlo_ssl);
  7. curl_exec($ch);
  8. print_r($ch); // taki maly lolz ;]
  9. curl_close($ch);


powinno coś wyświetlić.

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: 23.08.2025 - 22:40