当前位置 : 主页 > 网络编程 > PHP >

获取客户端真实ip地址

来源:互联网 收集:自由互联 发布时间:2021-07-03
//获得访客真实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']);
 
//获得访客真实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失败!";
        }
    }

网友评论