TShopping

 找回密碼
 註冊
搜索
查看: 3081|回復: 2
打印 上一主題 下一主題

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 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, 2024-4-29 15:14 , Processed in 0.042338 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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