在做网站的时候,很多时候会用到获取用户的ip,尤其是做统计类的,有的人可能把获取用户的ip,认识就是一个简单的php函数就大错特错了,用户的ip之所以存在真实不真实,是因为有的访客可能是用的服务器代理等等,所以,有的时候需要来获取其真实的ip。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<? function iptype1 () { if (getenv("HTTP_CLIENT_IP")) { return getenv("HTTP_CLIENT_IP"); } else { return "none"; } } function iptype2 () { if (getenv("HTTP_X_FORWARDED_FOR")) { return getenv("HTTP_X_FORWARDED_FOR"); } else { return "none"; } } function iptype3 () { if (getenv("REMOTE_ADDR")) { return getenv("REMOTE_ADDR"); } else { return "none"; } } function ip() { $ip1 = iptype1(); $ip2 = iptype2(); $ip3 = iptype3(); if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") { return $ip1; } elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown") { return $ip2; } elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown") { return $ip3; } else { return "none"; } } Echo ip(); ?> |
第二种
1 2 3 4 5 6 7 8 |
function getIp(){ $cip = getenv('REMOTE_ADDR'); $cip1 = getenv('HTTP_CLIENT_IP'); $cip2 = getenv('HTTP_X_FORWARDED_FOR'); $cip1 ? $cip = $cip1 : null; $cip2 ? $cip = $cip2 : null; return $cip; } |
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/149/
2012年07月09日 下午 5:40 迷藏 | 引用 | #1
php获取用户的真实ip,这个是不是可以解决一个问题,vpn的问题,使用vpn了可不可以得到真实的ip?求解