PHP 获取客户端真实IP地址多种方法小结

  经过复杂的判断与算是的获取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('HTTP_X_FORWARDED')) {

  $ip = getenv('HTTP_X_FORWARDED');

  }

  elseif (getenv('HTTP_FORWARDED_FOR')) {

  $ip = getenv('HTTP_FORWARDED_FOR');

  }

  elseif (getenv('HTTP_FORWARDED')) {

  $ip = getenv('HTTP_FORWARDED');

  }

  else {

  $ip = $_SERVER['REMOTE_ADDR'];

  }

  return $ip;

  }

  最简单获取ip地址代码一句实例

  

复制代码 代码如下:

  $reIP=$_SERVER["REMOTE_ADDR"];

  echo $reIP;

  php获取ip的算法

  

复制代码 代码如下:

  if(getenv('HTTP_CLIENT_IP')) {

  $onlineip = getenv('HTTP_CLIENT_IP');

  } elseif(getenv('HTTP_X_FORWARDED_FOR')) {

  $onlineip = getenv('HTTP_X_FORWARDED_FOR');

  } elseif(getenv('REMOTE_ADDR')) {

  $onlineip = getenv('REMOTE_ADDR');

  } else {

  $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

  }

  echo $onlineip;

  可以分出内网与外网站ip地址获取程序

  

复制代码 代码如下:

  function getip_out(){

  $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_out();

  php获取ip的算法,用了?号表达式来处理

  

复制代码 代码如下:

  $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];

  $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

  php下获取客户端ip地址的函数

  php 获取客户端的真实ip