php获取客户端ip地址方法

方法一:

//获取ip地址函数
function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
   $ip = $_SERVER["HTTP_CLIENT_IP"];
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
   $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(!empty($_SERVER["REMOTE_ADDR"]))
   $ip = $_SERVER["REMOTE_ADDR"];
else
   $ip = "Unknown";
return $ip;
}
echo GetIP(); //调用函数

方法二:

//获取ip地址函数
function GetIp(){
    if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){                                             
        $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
    }elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){                                             
         $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
    }elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){                                             
         $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    }elseif (getenv("HTTP_X_FORWARDED_FOR")){                                             
         $ip = getenv("HTTP_X_FORWARDED_FOR");    
    }elseif (getenv("HTTP_CLIENT_IP")){                                             
         $ip = getenv("HTTP_CLIENT_IP");  
    }elseif (getenv("REMOTE_ADDR")){                                             
         $ip = getenv("REMOTE_ADDR");
    }else{                                             
         $ip = "Unknown";   
    }
    return $ip;
}
echo GetIp();//调用函数

方法三:

$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;

方法四:

//获取ip地址函数
function GetIp(){
    $ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
    $ip = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
    return $ip;
}
echo GetIp();//调用函数

方法五:

//获取ip地址函数
function GetIp(){
    $ip=false;
    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
          $ip = $_SERVER["HTTP_CLIENT_IP"];
     }
     if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
         $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
         if ($ip){
             array_unshift($ips, $ip); $ip = FALSE;
         }
         for ($i = 0; $i < count($ips); $i++){
             if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])){
                 $ip = $ips[$i];
                 break;
             }
         }
     }
    return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo GetIp();//调用函数

方法六:

//获取ip地址函数
function GetIp(){
    if(getenv('HTTP_CLIENT_IP')){
       $ip = getenv('HTTP_CLIENT_IP');
    }elseif(getenv('HTTP_X_FORWARDED_FOR')){
       $ip = getenv('HTTP_X_FORWARDED_FOR');
    }elseif(getenv('REMOTE_ADDR')){
       $ip = getenv('REMOTE_ADDR');
    }else{
       $ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
    }
       return $ip;
}
echo GetIp();//调用函数

发表评论