php代码,使用代理服务器也可以获取真实ip,代码是从ThinkPHP中粘贴出来的 无 //获得访客真实ip public function Getip(){ if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //
php代码,使用代理服务器也可以获取真实ip,代码是从ThinkPHP中粘贴出来的
//获得访客真实ip public function Getip(){ if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); } if($ip){ $ips = array_unshift($ips,$ip); } $count = count($ips); for($i=0;$i<$count;$i++){ if(!preg_match("/^(10|172\.16|192\.168)\./i",$ips[$i])){//排除局域网ip $ip = $ips[$i]; break; } } $tip = $ip ? $ip : $_SERVER['REMOTE_ADDR']; if($tip=="127.0.0.1"){ //获得本地真实IP return $this->get_onlineip(); }else{ return $tip; } } //获得本地真实IP public function get_onlineip() { $mip = file_get_contents("http://www.ip138.com/ip2city.asp"); if($mip) { preg_match("/\[.*\]/",$mip,$sip); $p = array("/\[/","/\]/"); return preg_replace($p,"",$sip[0]); }else { return "获取本地IP失败!"; } }