国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 獲取客戶端的ip地址程序代碼

2024-05-04 21:58:09
字體:
來源:轉載
供稿:網友

獲取客戶端IP地址我們最簡單的辦法就是直接使用REMOTE_ADDR但這種如果有代理IP就無法獲取了,所以我們要使用HTTP_X_FORWARDED_FOR來獲取,下面我來給大家介紹一個獲取IP地址函數.

最簡單的做法,代碼如下:

  1. function getRealIpAddr() 
  2.   if (!emptyempty($_SERVER['HTTP_CLIENT_IP'])) 
  3.   { 
  4.     $ip=$_SERVER['HTTP_CLIENT_IP']; 
  5.   } 
  6.   elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) 
  7.   //to check ip is pass from proxy 
  8.   { 
  9.     $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
  10.   } 
  11.   else 
  12.   { 
  13.     $ip=$_SERVER['REMOTE_ADDR']; 
  14.   } 
  15.   return $ip

這個我自己寫的,代碼如下:

  1. <?php 
  2. if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { 
  3.   $onlineip = getenv('HTTP_CLIENT_IP'); 
  4.  } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { 
  5.   $onlineip = getenv('HTTP_X_FORWARDED_FOR'); 
  6.  } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { 
  7.   $onlineip = getenv('REMOTE_ADDR'); 
  8.  } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { 
  9.   $onlineip = $_SERVER['REMOTE_ADDR']; 
  10.  } 
  11. echo $onlineip
  12. ?> 

但感覺不怎么樣,后來百度找到了一個,實例代碼如下:

  1. function real_ip() { 
  2.  static $realip = NULL; 
  3.  
  4.  if ($realip !== NULL)  { 
  5.   return $realip
  6.  } 
  7.  
  8.  if (isset($_SERVER)) { 
  9.   if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
  10.    $arr = explode(','$_SERVER['HTTP_X_FORWARDED_FOR']); 
  11.  
  12.    /* 取X-Forwarded-For中第一個非unknown的有效IP字符串 */ 
  13.    foreach ($arr AS $ip) { 
  14.     $ip = trim($ip); 
  15.  
  16.     if ($ip != 'unknown') { 
  17.      $realip = $ip
  18.      break
  19.     } 
  20.    } 
  21.   } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { 
  22.    $realip = $_SERVER['HTTP_CLIENT_IP']; 
  23.   } else { 
  24.    if (isset($_SERVER['REMOTE_ADDR'])) { 
  25.     $realip = $_SERVER['REMOTE_ADDR']; 
  26.    } else { 
  27.     $realip = '0.0.0.0'
  28.    } 
  29.   } 
  30.  } else { 
  31.   if (getenv('HTTP_X_FORWARDED_FOR')) { 
  32.    $realip = getenv('HTTP_X_FORWARDED_FOR'); 
  33.   } elseif (getenv('HTTP_CLIENT_IP')) { 
  34.    $realip = getenv('HTTP_CLIENT_IP'); 
  35.   } else { 
  36.    $realip = getenv('REMOTE_ADDR'); 
  37.   } 
  38.  } 
  39.  
  40.  preg_match("/[d.]{7,15}/"$realip$onlineip); 
  41.  $realip = !emptyempty($onlineip[0]) ? $onlineip[0] : '0.0.0.0'
  42.  
  43.  return $realip

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滨州市| 衡水市| 洛川县| 清新县| 叙永县| 呼图壁县| 太康县| 治县。| 上蔡县| 邻水| 垫江县| 文化| 鄂伦春自治旗| 吴桥县| 乐亭县| 禄劝| 云龙县| 尤溪县| 巴里| 永川市| 甘洛县| 盱眙县| 金塔县| 沁源县| 云南省| 穆棱市| 商水县| 集贤县| 岳西县| 铜山县| 万山特区| 西安市| 龙岩市| 明光市| 泾源县| 沙坪坝区| 宜兴市| 彭水| 齐河县| 昭苏县| 嘉善县|