找回密碼
 註冊
搜索
查看: 3314|回復: 2

[教學] php獲取客戶端IP地址的幾種方法

  [複製鏈接]
發表於 2010-2-12 00:41:56 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
PHP Code one:
  1. <?
  2. //php獲取ip的算法
  3. $iipp=$_SERVER["REMOTE_ADDR"];
  4. echo $iipp;
  5. ?>
複製代碼


PHP Code two:
  1. <?php
  2. //php獲取ip的算法
  3. $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
  4. $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

  5. echo $user_IP;
  6. ?>

  7. ///////////////////////////////////////////////

  8. <?
  9. function get_real_ip(){
  10. $ip=false;
  11. if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  12. $ip = $_SERVER["HTTP_CLIENT_IP"];
  13. }
  14. if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  15. $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
  16. if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
  17. for ($i = 0; $i < count($ips); $i++) {
  18.   if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
  19.    $ip = $ips[$i];
  20.    break;
  21.   }
  22. }
  23. }
  24. return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
  25. }

  26. echo get_real_ip();
  27. ?>
複製代碼


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



PHP Code four:
  1. <?
  2. //php獲取ip的算法
  3. if(getenv('HTTP_CLIENT_IP')) {
  4. $onlineip = getenv('HTTP_CLIENT_IP');
  5. } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
  6. $onlineip = getenv('HTTP_X_FORWARDED_FOR');
  7. } elseif(getenv('REMOTE_ADDR')) {
  8. $onlineip = getenv('REMOTE_ADDR');
  9. } else {
  10. $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
  11. }
  12. echo $onlineip;
  13. ?>  
複製代碼
 
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-5-1 01:24 , Processed in 0.019989 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表