Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] file_get_contents i referer
Forum PHP.pl > Forum > PHP
phpowiec2
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
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
tzn., że informacji o adresie konkretnej strony, z której wywoływana jest funkcja nie mogę uzyskać?
wookieb
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 smile.gif
phpowiec2
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
Raczej o ile dobrze pamiętam $_SERVER['REMOTE_ADDR'];
piotrooo89
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
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
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.