<?
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "")
{
$IP = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]);
}
else
{
$IP = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]);
}
?>
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "")
{
$IP = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]);
}
else
{
$IP = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]);
}
?>
function dns_lookup($ip)
{
$res='nslookup -timeout=3 -retry=1 $ip';
if (preg_match('/\nName:(.*)\n/', $res, $out))
{
return trim($out[1]);
}
else
{
return $ip;
}
}if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "")
{
$IP = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = dns_lookup($IP);
}
else
{
$IP = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = dns_lookup($IP);
}
echo $host;
?>
retry=1 //重试次数自己根据需要设
而連出去的話內網的 IP 會變成連外的 IP 不在是 192.168.*.* 開頭的。