一個段經典的代碼可以用來擷取使用者的真實IP地址,包括可以是內網或是外網,有需要的朋友可以參考一下。
| 代碼如下 |
複製代碼 |
/** * 獲得使用者的真實IP地址 * * @return string */ function real_ip(){ static $realip = NULL; if ($realip !== NULL){ return $realip; } if (isset($_SERVER)){ if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); /* 取X-Forwarded-For中第一個非unknown的有效IP字串 */ foreach ($arr AS $ip){ $ip = trim($ip); if ($ip != 'unknown'){ $realip = $ip; break; } } } elseif (isset($_SERVER['HTTP_CLIENT_IP'])){ $realip = $_SERVER['HTTP_CLIENT_IP']; } else{ if (isset($_SERVER['REMOTE_ADDR'])){ $realip = $_SERVER['REMOTE_ADDR']; } else{ $realip = '0.0.0.0'; } } } else{ if (getenv('HTTP_X_FORWARDED_FOR')){ $realip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_CLIENT_IP')){ $realip = getenv('HTTP_CLIENT_IP'); } else{ $realip = getenv('REMOTE_ADDR'); } } preg_match("/[d.]{7,15}/", $realip, $onlineip); $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0'; return $realip; }
|
http://www.bkjia.com/PHPjc/631683.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631683.htmlTechArticle一個段經典的代碼可以用來擷取使用者的真實IP地址,包括可以是內網或是外網,有需要的朋友可以參考一下。 代碼如下 複製代碼 /** * 獲得用...