当前位置:首页 > PHP教程 > php应用 > 列表

PHP获取用户访问IP地址的5种方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-06 10:42:28 浏览: 评论:0 

这篇文章主要为大家详细介绍了PHP获取用户访问IP地址的5种方法,感兴趣的小伙伴们可以参考一下。

本文实例为大家分享了5种PHP获取用户访问IP地址的方法,供大家参考,具体内容如下

  1. <?php                                                                 //方法1: 
  2. $ip = $_SERVER["REMOTE_ADDR"]; 
  3. echo $ip; 
  4.    
  5. //方法2: 
  6. $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; 
  7. $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]; 
  8. echo $user_IP; 
  9.    
  10. //方法3: 
  11. function getRealIp() 
  12. { 
  13.   $ip=false; 
  14.   if(!emptyempty($_SERVER["HTTP_CLIENT_IP"])){ 
  15.     $ip = $_SERVER["HTTP_CLIENT_IP"]; 
  16.   } 
  17.   if (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
  18.     $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); 
  19.     if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } 
  20.     for ($i = 0; $i < count($ips); $i++) { 
  21.       if (!eregi ("^(10│172.16│192.168).", $ips[$i])) { 
  22.         $ip = $ips[$i]; 
  23.         break; 
  24.       } 
  25.     } 
  26.   } 
  27.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); 
  28. } 
  29. echo getRealIp(); 
  30.    
  31. //方法4: 
  32. if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) 
  33. { 
  34.   $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; 
  35. } 
  36. elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]) 
  37. { 
  38.   $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]; 
  39. } 
  40. elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]) 
  41. { 
  42.   $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"]; 
  43. } 
  44. elseif (getenv("HTTP_X_FORWARDED_FOR")) 
  45. { 
  46.   $ip = getenv("HTTP_X_FORWARDED_FOR"); 
  47. } 
  48. elseif (getenv("HTTP_CLIENT_IP")) 
  49. { 
  50.   $ip = getenv("HTTP_CLIENT_IP"); 
  51. } 
  52. elseif (getenv("REMOTE_ADDR")) 
  53. { 
  54.   $ip = getenv("REMOTE_ADDR"); 
  55. } 
  56. else 
  57. { 
  58.   $ip = "Unknown"; 
  59. } 
  60. echo $ip ; 
  61.    
  62. //方法5: 
  63. if(getenv('HTTP_CLIENT_IP')) { 
  64.   $onlineip = getenv('HTTP_CLIENT_IP'); 
  65. } elseif(getenv('HTTP_X_FORWARDED_FOR')) { 
  66.   $onlineip = getenv('HTTP_X_FORWARDED_FOR'); 
  67. } elseif(getenv('REMOTE_ADDR')) { 
  68.   $onlineip = getenv('REMOTE_ADDR'); 
  69. } else { 
  70.   $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR']; 
  71. } 
  72. echo $onlineip;

Tags: PHP获取用户访问IP

分享到: