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

后端开发   发布日期:2023年05月19日   浏览次数:415

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

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

以上就是PHP获取用户访问IP地址的5种方法的详细内容,更多关于PHP获取用户访问IP地址的5种方法的资料请关注九品源码其它相关文章!