|
Czy instrukcją file_get_contents można pobierać dane metodą POST ? |
załóżmy, że musimy pobrać dane ze zdalnego serwera, gdzie parametry są przesyłane pomiędzy stronami metodą post, normalnie musielibyśmy wejść na taką stronę wypełnić formularz i dopiero zobaczylibyśmy wyniki działania skryptu, ale jest właśnie taka mozliwość dzięki PHP, że najpierw podajemy parametry POST, potem wywołujemy zdalną stronę z tymi parametrami a następnie czytamy zawartość odpowiedzi strony...
w taki sposób mozemy pobierać zawartość danego pliku w taki sposób jak byśmy go wywoływali z formularza uzywającego metody POST
jeśli chcesz dodatkowo zasymulować przeglądarkę z wpisanym ciasteczkiem...ale w taki sposób aby serwer z którego czytasz informacje "miał wrażenie", że wchodzi na niego internauta, który ma wpisane ciasteczko lub ciasteczka coockies o określonej wartości to mozesz wykorzystać następujący skrypt:
podobne rozwiązanie ze strony:
http://pl2.php.net/manual/pl/function.file-get-contents.php#80435
Stosowanie powyższych rozwiązań jest często zagrożeniem dla twórców stron internetowych albowiem umożliwia zdalne logowanie się do stron za pomoca programów.
Podobne możliwości prócz samego PHP dają niektóre gotowe biblioteki takie jak CURL lub biblioteka urlib z pythona:
http://www.rwdev.eu/articles/urllib2
Ale opisujemy to po to aby wśród webmasterów była świadomość, że stosunkowo łatwo jest zrobić program, który zaloguje się w imieniu uzytkownika na stronę i może wykonywać określone działania na dynamicznej treści serwisu.
Powyższe skrypty i bibliteki mogą też służyć do automatycznego skanowania poszukiwanego hasła.
Więc warto stosować odpowiednie zabezpieczenia, np. biblioteka urlib podczas wchodzenia na serwis przedstawia się jako user-agent "Python-urllib/2.5" i można ją zablokować przez odcięcie strony od agentów które zawierają w nazwie agenta frazę python-urlib.
http://www.elider.pl/385_w_jaki_sposob_odczytac_date_ostatniej_modyfikacji_dowolnego_pliku_rowniez_zdalnego.html
http://www.elider.pl/355_w_jaki_sposob_wyswietlic_na_swojej_stronie_obrazek_ze_zdalnego_serwisu_ktory_nie_ma_w_nazwie_podanego_rozszerzenia.html
http://www.elider.pl/356_jak_za_pomoca_wyrazen_regularnych_odnalezc_szukany_link_w_tresci_zdalnej_strony_www.html
http://www.elider.pl/351_w_jaki_sposob_zasymulowac_przegladarke_odczytujac_zawartosc_zdalnej_strony.html
http://www.elider.pl/341_w_jaki_sposob_pobrac_tresc_lub_interesujacy_fragment_tresci_z_innych_stron_w_internecie.html
http://www.elider.pl/357_jak_sciagnac_kurs_euro_ze_zdalnej_strony_nbp.html
http://www.elider.pl/463_jak_odczytac_zawartosc_zdalnej_strony_www_i_wyswietlic_ja_na_swojej_stronie.html
http://www.elider.pl/358_w_jaki_sposob_sciagnac_zawartosc_dowolnego_pliku_xml_i_wpisac_elementy_tego_pliku_do_tablicy.html
http://www.elider.pl/319_jak_przeczytac__tys_linii_tekstu_w_pol_sekundy.html
http://www.elider.pl/356_chce_odczytywac_linki_ze_zdalnych_stron_jak_to_zrobic.html
http://www.elider.pl/444_jak_odczytac_naglowki_http_dowolnej_strony_lub_pliku_umieszczonych_w_internecie.html
http://www.elider.pl/474_jak_mozna_pobrac_zdalny_plik_zabezpieczony_haslem_i_do_tego_protokolem_ssl.html