Home  >  Article  >  php教程  >  获取客户端真实ip地址

获取客户端真实ip地址

WBOY
WBOYOriginal
2016-06-06 19:38:431553browse

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失败!";
        }
    }
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn