Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zablokować parsowanie strony?
Forum PHP.pl > Forum > PHP
fluffy
Witam,

Czy ktoś zna sposób na zablokowanie parsowania własnej strony internetowej, tak aby użytkownicy innych stron nie byli w stanie tego robić korzystając np. z funkcji: curl_init?
Wiem, że istnieją takie sposoby, bo np. onet blokował taką możliwość w stosunku do strony głównej. Niemniej jednak nie znalazłem rozwiązania w internecie.

Nie jestem pewien czy jest to odpowiedni dział na forum. Jeżeli nie to przepraszam i proszę o przeniesienie go w odpowiednie miejsce.

A przede wszystkim mam nadzieję, że osoby, które znają rozwiązanie tego problemu, podzielą się wiedzą. Za co z góry dziękuję! smile.gif
wookieb
Przy korzystaniu z wyszukiwarki można zrobić tokena graficznego. Metody na zablokowanie cUrl nie ma. Można próbować ze sprawdzaniem http_referer ale to mozna obejść curlem. Wiec skutecznej metody nie ma. Poza tym jak wtedy roboty miałyby indeksować twoją stronę?
mike
Nie da się. Pomysł równie niewykonalny co zabezpieczenie obrazka przed skopiowaniem ze strony.
Skoro już wyśiwetlasz stronę to nie masz możliwości zablokowania czytania jej.
fluffy
Nie blokowałbym podstron a jedynie stronę główną, tak więc informacje byłyby indeksowane. No bo w końcu informacje z onetu są indeksowane mimo tego że ma zablokowaną możliwość parsowania strony głównej.
mike
~fluffy Onet nie ma żadnej blokady parsowania strony głównej. Swobodnie możesz sobie ją przeczytać dowolną funkcją.
Jedyne co jesteś w stanie zrobić to nafaszerować wszystko AJAXem żeby treści były zasysane przez JavaScript. Tego się nie przeskoczy.
wookieb
Jakąś tam ma ale to da się obejść. Trzeba tylko wiedzieć jak.
Kod
$ch=curl_init('http://onet.pl');

curl_exec($ch);

Da nam tylko link do onetu. Natomiast file_get_contents juz przechodzi.
fluffy
Kiedyś próbowałem to się nie dało... może po zmianie szaty graficznej strony głównej z tego zrezygnowali, teraz tego nie sprawdziłem winksmiley.jpg Skoro mówicie że się nie da to się nie da ;P

Mike jeżeli dobrze Cię zrozumiałem to jak się będzie zasysać dane przez ajax'ik to curl nie pobierze już danych zassanych po załadowaniu podstawowej konstrukcji strony, tak?
wookieb
Tak. Ale jezeli ktoś się uprze to sobie wejdzie na strone i zobaczy które pliki ajaxowe pobierać.
mike
Cytat(fluffy @ 26.08.2008, 11:17:56 ) *
Mike jeżeli dobrze Cię zrozumiałem to jak się będzie zasysać dane przez ajax'ik to curl nie pobierze już danych zassanych po załadowaniu podstawowej konstrukcji strony, tak?
Dokładnie. Ponieważ funkcje typu file_get_contents() czy mechanizmy cURL nie potrafia wykonywać JavaScriptu. Większość robotów i pająków zresztą też.
kwiateusz
a co do curla i onetu moze po prostu sprawdzaja jak przegladarka w naglowkach sie przedstawia? i jak nie ejst to zadna znana to zwraca link do onetu itp
VGT
Gdy pobieracie strone onetu, czy to curl'em czy socketami czy co jeszcze wybierzecie, dodajcie do adresu "www"

Dostajecie tylko link (a konkretnie, to "HTTP/1.0 301 Moved Permanently") bo pobieracie strone http://onet.pl, zamiast http://www.onet.pl
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.