Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Pobieranie źródła strony...
Forum PHP.pl > Forum > Przedszkole
krzywy36
Nie wiedziałem pod jaką nazwą szukać takiego tematu, ale jak już jest to proszę o przekierowanie..
Załóżmy, że mam jakąś stronę na krórej wyświetlają się różne treści w zależności od tego czy jestem zalogowany czy nie. Teraz gdy pobieram źródło tej strony funkcją "file_get_contents", to jest pobierane źródło strony wyświetlanej dla niezalogowanych użytkowników, próbowałem sie zalogowac na tej stronie ale dalej jest pobierane to samo ;/. Jest jakis sposob żeby pobrać źrodło strony wyświetlanej zalogowanym użytkownikom?? Dodam, że strona działa w oparciu o ciastka, czyli dopóki ich nie wyczyszcze to dalej jestem zalogowany...
Sabistik
Tytuł tematu nie spełnia wymagań regulaminu działu przedszkole. Zamykam. Prześlij poprawną formę do moderatora to otworzy.

Cytat
próbowałem sie zalogowac na tej stronie ale dalej jest pobierane to samo ;

Tzn w jaki sposób próbowałeś? <:


Użyj curl" title="Zobacz w manualu PHP" target="_manuala do logowania i pobierania źródła strony.
krzywy36
Zalogowałem się na stronie nie czyszcząc ciasteczek i próbowałem pobrać to źródło tongue.gif . Jak poczytam troche o curlu to spróbuje, bo nawet nie wiem co to jest haha.gif

Edit:
;/ macie może jakiś kurs do tego curla?? z tego co jest na wortalu nic nie czaje... znalazłem jeden fajny, ale tam są opisane same podstawy...

Dobra, doszedłem już do tego jak to zrobić, ale napotkałem problem ;/. Zabezpieczenie - przepisywanie tekstu z obrazka ;/ mam pytanie, da się jakoś zrobić tak aby np. ten kod przepisywać ręcznie??
Sabistik
Nie.
krzywy36
A jeśli ta strona przekazuje informacje czy jestem zalogowany przez cookies, to może da się przekazać przez CURL'a to cookie tej stronie, i wtedy byłbym już zalogowany haha.gif Dałoby się tak??
marcio
@up nie jestem pewny ale chyba podobny temat
http://www.uw-team.org/forum/viewtopic.php?t=6033
netmare
Dać to się chyba da, ale wymaga to rochę wkładu pracy winksmiley.jpg
1. Używając cURL wysyłasz żądanie pobrania treści strony i łapiesz ciasteczko
2. Wstawiasz do treści swojej strony input'a
3. Wstawiasz do treści swojej strony link do obrazka na swoim serwerze img src="costam.php?wszystkie_parametry_ciacha"
4. Plikiem costam.php sciagasz obrazek z serwera ponownie wysyłając ciacha, ustawiasz headery jako obrazek i jako tresc wstawiasz to co pobrałeś jako obrazek.
5. Przepisujesz kod z obrazka do inputa i wysylasz formularz do skryptu php z tymi pierwszymi parametrami ciacha, który cURL'em prześle żadanie logowania, korzystając z Twoich danych, kodu z inputa i danych o ciastku.
6. Łapiesz ciacho ponownie i posługujesz się nim w każdym odwołaniu do strefy dostępnej dla zalogowanych użytkowników

Pisane na szybko, mam nadzieję że nic nie pominąłem... i chyba będzie działać biggrin.gif
krzywy36
netmare byłeś pierwszy tongue.gif, ok najpierw to postaram się zrozumieć a jak coś zrobię to napiszę ;]
Sabistik
Cytat
5. Przepisujesz kod z obrazka do inputa i wysylasz formularz do skryptu php z tymi pierwszymi parametrami ciacha, który cURL'em prześle żadanie logowania, korzystając z Twoich danych, kodu z inputa i danych o ciastku.
ehe. Proszę Cię bez takich.... ((:
netmare
Nie ma co tworzyć całych nagłówków samemu, rezultat będzie taki sam biggrin.gif

Edit @Sabistik: no przecież zapytał się czy da radę to zrobić z ręcznym przepisaniem obrazka... Widzisz coś nie rzeczowego w mojej odpowiedzi??

--edit @Sabistik
No dobra, wybacz. Nie przeczytałem o ręcznym przepisywania. Po prostu nie widzę zastosowania ręcznego przepisywania tokenów (: Ale różne bywają potrzeby... (:
krzywy36
netmare jakbyś mógł napisać jakiś kod ;] bo z CURL'em wczoraj zacząłem się bawić i nie wszystko jeszcze czaje...

edit: bo logikę kodu rozumiem ale nie wiem jak to napisać tongue.gif
netmare
Obawiam się że jeśli chodzi o cURL, to nie miałem styczności, bo na serwerach z których korzystam nie był dostępny i u siebie też w końcu nie zainstalowałem, za to w akcie desperacji napisałem swoją klasę do obsługi stron. Popróbuj do jutra, napewno ktoś jeszcze się znajdzie chętny do pomocy, jak nie to jak będziesz coś miał to pisz na priv albo tu, w ostateczności jakoś wymodzimy to na tej mojej klasie (choć uprzedzam że jest zdecydowanie uboższa niż cURL) winksmiley.jpg
krzywy36
mógłby ktoś poprawić mój kod ;]questionmark.gif
  1. <?php
  2. $phpsesid = $_POST[phpsesid];
  3. $nick = $_POST[nick];
  4. $pass = $_POST[pass];
  5. $security = $_POST[security];
  6.  
  7. $curl = curl_init();
  8. curl_setopt($curl, CURLOPT_URL, "http://cos.com/login.php");
  9. curl_setopt($curl, CURLOPT_POST, 1);
  10. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  11. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  12. $sendcookie = 'PHPSESID=' . urlencode($phpsesid);
  13. curl_setopt($curl, CURLOPT_COOKIE, $sendcookie);
  14. curl_setopt($curl, CURLOPT_POSTFIELDS, "COOKIEusername=". $nick. "&COOKIEpass=". $pass. "&verify=". $security);
  15. $strona = curl_exec($curl);
  16. curl_close($curl);
  17. echo $strona;
  18. ?>


to jest to co napisalem haha.gif jak to zmienic aby logowalo sie na strone, pobierało źrodło i je zwracało??
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.