PHP Code:
function gum_real_ip()
{
$keyname_ip_arr = array('HTTP_X_FORWARDED_FOR', 'HTTP_REMOTE_ADDR_REAL', 'HTTP_CLIENT_IP', 'HTTP_X_REAL_IP', 'REMOTE_ADDR');
foreach ($keyname_ip_arr as $keyname_ip) {
if (!empty($_SERVER[$keyname_ip])) {
$ip = $_SERVER[$keyname_ip];
if (strstr($ip, ',')) {
$ips = explode(',', $ip);
foreach ($ips as $ip)
{
if(filter_var(trim($ip), FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE)) break(2);
}
}
elseif(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE)) break;
}
}
return $ip;
list($ip1,$ip2,$ip3,$ip4) = explode('.',$ip);
return $ip1.'.'.$ip2.'.'.$ip3.'.0'; //REAL IP
}
Comment