function Real_ip ()
{
static $realip = NULL;
if ($realip!== NULL)
{
return $realip;
}
if (Isset ($_server))
{
if (Isset ($_server[' http_x_forwarded_for '))
{
$arr = Explode (', ', $_server[' http_x_forwarded_for ');
foreach ($arr as $ip)
{
$ip = Trim ($IP);
if ($ip! = ' Unknown ')
{
$realip = $ip;
Break
}
}
}
ElseIf (Isset ($_server[' http_client_ip '))
{
$realip = $_server[' http_client_ip ');
}
Else
{
if (Isset ($_server[' remote_addr '))
{
$realip = $_server[' remote_addr ');
}
Else
{
$realip = ' 0.0.0.0 ';
}
}
}
Else
{
if (getenv (' http_x_forwarded_for '))
{
$realip = getenv (' http_x_forwarded_for ');
}
ElseIf (getenv (' http_client_ip '))
{
$realip = getenv (' http_client_ip ');
}
Else
{
$realip = getenv (' remote_addr ');
}
}
Preg_match ("/[\d\.") {7,15}/", $realip, $ONLINEIP);
$realip =!empty ($onlineip [0])? $ONLINEIP [0]: ' 0.0.0.0 ';
return $realip;
}