phpowiec2
21.02.2009, 19:24:02
Witam,
Czy jest możliwość, aby w PHP pobrać informację o nazwie strony, ip serwera, etc. strony która korzystając z funkcji file_get_contents pobiera treść mojej strony?
Pozdrawiam
wookieb
21.02.2009, 19:27:10
Przejrzyj sobie zmienna $_SERVER to bedziesz znal IP komputera który aktualnie otworzył daną stronę. W dodatku jest coś takiego jak x-forwarded-for.
phpowiec2
21.02.2009, 19:31:29
tzn., że informacji o adresie konkretnej strony, z której wywoływana jest funkcja nie mogę uzyskać?
wookieb
21.02.2009, 19:36:26
Jeżeli są na tyle sprytni by ukrywać referera bądź inne dane to nie. Po ip możesz dojść na jakim serwerze jest otwierana jest twoja strona. Ale... jeżeli bardzo ci zależy na tym, żeby dowiedzieć gdzie jest includowana strona to dorzuć szpiegujący JS który np przekierowuje użytkownika na twoją strone np hh.php?strona=adres_strony_z_ktorej_przekierowano. i wtedy odrazu będziesz widział kto wykorzystuje zawartość twojej strony
phpowiec2
21.02.2009, 20:08:37
Obawiam się, że nie można pobrać żadnej informacji $_SERVER['HTTP_HOST'], $_SERVER['SERVER_NAME']; $_SERVER['HTTP_X_FORWARDED_FOR'], $_SERVER['REMOTE_ADDR'], zwracają informację o serwerze, z którego są pobierane dane, a nie który pobiera, natomiast echo $_SERVER['SERVER_REFERER'] jest pusty. Chciałbym zezwolić na pobieranie danych jedynie wybranym adresom stron, które nie ukrywają referera etc. ...
wookieb
21.02.2009, 20:20:24
Raczej o ile dobrze pamiętam $_SERVER['REMOTE_ADDR'];
piotrooo89
21.02.2009, 20:24:59
zamiast domysłów ~
phpowiec2 możesz sięgnąć do manuala
$_SERVER w którym:
Cytat
'REMOTE_ADDR' The IP address from which the user is viewing the current page.
wszystko pisze.
phpowiec2
21.02.2009, 20:41:37
Korzystałem z manuala i 'REMOTE_ADDR' również używałem, jak pisałem w moim poprzednim poście. Jednak jak pisałem w poprzednim poście zwraca on adres strony, z której są pobierane dane, zamiast tej, która pobiera. Ta informacja wyświetlana jest na stronie która pobiera dane.
wookieb
21.02.2009, 20:45:17
Proszę zrób sobie z localhosta coś takiego
Kod
file_get_contents('http://twoja_strona.pl/test.php');
A w test.php umieść
Kod
print_r($_SERVER);
W REMOTE_ADDR będzie twoje ip komputera.
phpowiec2
21.02.2009, 21:05:47
Zgadza się wyświetla się IP serwera, z którego wywoływana jest funkcja. Niestety nie można pobrać w ten sposób referera :/
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.