现在很多朋友上网都用代理,特别是教育网的用户要上外网的时候,那是非代理不能上也。用代理给用户带来了方便,却给网站的统计带来了麻烦。今日发现一个特别有用的变量,那就是$_sever[http_x_forwarded_for]这个变量就可以透过代理获得用户的真实ip地址。

但是同时我们又遇到了一个问题,并不是所有的人都在用着代理服务器上网,所以我们必须要再做一次判断,否则碰到没用代理的用户你的ip值就是空了!

下面写一个简单的函数,用它一般来说可以获得用户的真是ip地址

function get_userip()
{
if($_SERVER[HTTP_X_FORWARDED_FOR]=='')

{

if($_SERVER[HTTP_REMOTE_ADDR]=='')

{ $userip=$_SERVER[HTTP_CLIENT_IP]; }

else

{ $userip=$_SERVER[HTTP_REMOTE_ADDR];}

}

else

{$userip=$_SERVER[HTTP_X_FORWARDED_FOR];}

return $userip;

}