ホームページ  >  記事  >  php教程  >  获取客户端真实ip地址

获取客户端真实ip地址

WBOY
WBOYオリジナル
2016-06-06 19:38:431527ブラウズ

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失败!";
        }
    }
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。