Rumah  >  Artikel  >  php教程  >  获取客户端真实ip地址

获取客户端真实ip地址

WBOY
WBOYasal
2016-06-06 19:38:431551semak imbas

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失败!";
        }
    }
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn