Jak pobrać rzeczywiste IP (nie publiczne)? Podobnie jak na tej stronie
http://tonid.net/ip/
Wiem, że normalnie publiczne IP to można pobrać
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
Jak pobrać rzeczywiste IP (nie publiczne)? Podobnie jak na tej stronie
http://tonid.net/ip/
Wiem, że normalnie publiczne IP to można pobrać
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
No i to "normalne" IP to jedyne jakie jest dostępne.
Można również korzystać ze zmiennych HTTP_X_FORWARDED_FOR, HTTP_VIA.
Krótki opis zmiennych:
REMOTE_ADDR - zewnętrzny adres IP (taki jaki widzą serwery, z którymi nawiązujesz połączenie)
Następne zmienne są opcjonalne (serwer proxy, przez który się łączymy może je przesłać do serwera www lub nie, równie dobrze może przesłać sfałszowane dane):
HTTP_X_FORWARDED_FOR - adres ip, z jakiego użytkownik się połączył do serwera proxy
HTTP_VIA - adres ip serwera proxy.
Wartości tych zmiennych znajdziemy w tablicy zmiennych superglobalnych $_SERVER. Przykład:
<?
echo 'IP: '.$_SERVER["REMOTE_ADDR"].'<br/>';
echo 'IP serwera proxy: '.$_SERVER["HTTP_VIA"].'<br/>';
echo 'IP zza serwera proxy ("prawdziwe"): '.$_SERVER["HTTP_X_FORWARDED_FOR"].'<br/>';
?>
Pozdrawiam mac
Mac napisał(a)
Można również korzystać ze zmiennych HTTP_X_FORWARDED_FOR, HTTP_VIA.
Krótki opis zmiennych:
REMOTE_ADDR - zewnętrzny adres IP (taki jaki widzą serwery, z którymi nawiązujesz połączenie)
Następne zmienne są opcjonalne (serwer proxy, przez który się łączymy może je przesłać do serwera www lub nie, równie dobrze może przesłać sfałszowane dane):
HTTP_X_FORWARDED_FOR - adres ip, z jakiego użytkownik się połączył do serwera proxy
HTTP_VIA - adres ip serwera proxy.
Wartości tych zmiennych znajdziemy w tablicy zmiennych superglobalnych $_SERVER. Przykład:
<?
echo 'IP: '.$_SERVER["REMOTE_ADDR"].'<br/>';
echo 'IP serwera proxy: '.$_SERVER["HTTP_VIA"].'<br/>';
echo 'IP zza serwera proxy ("prawdziwe"): '.$_SERVER["HTTP_X_FORWARDED_FOR"].'<br/>';
?>
Pozdrawiam mac
Niestety nie każdy serwer to oferuje.
MatroX napisał(a)
Niestety nie każdy serwer to oferuje.
uzupełnię: nie każdy serwer proxy ;). Konkretnie, to transparent proxy zazwyczaj przekazują tą wartość, anonymous nie powinny.