欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php获取客户端IP地址的四种方法

程序员文章站 2022-04-06 19:48:00
...
  1. $iipp=$_SERVER["REMOTE_ADDR"];
  2. echo $iipp;
  3. ?>
复制代码

第二种方法:

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

  2. $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
  3. echo $user_IP;

  4. ?>
复制代码

  1. function get_real_ip(){
  2. $ip=false;
  3. if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  4. $ip = $_SERVER["HTTP_CLIENT_IP"];
  5. }
  6. if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  7. $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
  8. if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
  9. for ($i = 0; $i if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
  10. $ip = $ips[$i];
  11. break;
  12. }
  13. }
  14. }
  15. return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
  16. }
  17. echo get_real_ip();

  18. ?>
复制代码

第三处方法:

  1. //php获取ip的算法
  2. if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
  3. {
  4. $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
  5. }
  6. elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
  7. {
  8. $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
  9. }
  10. elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
  11. {
  12. $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
  13. }
  14. elseif (getenv("HTTP_X_FORWARDED_FOR"))
  15. {
  16. $ip = getenv("HTTP_X_FORWARDED_FOR");
  17. }
  18. elseif (getenv("HTTP_CLIENT_IP"))
  19. {
  20. $ip = getenv("HTTP_CLIENT_IP");
  21. }
  22. elseif (getenv("REMOTE_ADDR"))
  23. {
  24. $ip = getenv("REMOTE_ADDR");
  25. }
  26. else
  27. {
  28. $ip = "Unknown";
  29. }
  30. echo "你的IP:".$ip ;
  31. ?>
复制代码

第四种方法:

  1. if(getenv('HTTP_CLIENT_IP')) {
  2. $onlineip = getenv('HTTP_CLIENT_IP');
  3. } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
  4. $onlineip = getenv('HTTP_X_FORWARDED_FOR');
  5. } elseif(getenv('REMOTE_ADDR')) {
  6. $onlineip = getenv('REMOTE_ADDR');
  7. } else {
  8. $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
  9. }
  10. echo $onlineip;
  11. ?>
复制代码