Functionreal_ip () {static $ realipNULL; if ($ realip! NULL) {return $ realip;} if (isset ($ _ SERVER) {if (isset ($ _ SERVER [& amp; #39; HTTP_X_FORWARDED_FOR & amp; #39;]) {$ arrexpl...
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;
}
Author: Huangcun Tingyu 31