獲得使用者的真實IP地址_PHP教程

來源:互聯網
上載者:User
/**
* 獲得使用者的真實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 = !emptyempty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';

return $realip;
}
?>

摘自 chaojie2009的專欄

http://www.bkjia.com/PHPjc/478363.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478363.htmlTechArticle?php /** * 獲得使用者的真實IP地址 * * @return string */ function real_ip(){ static $realip = NULL; if ($realip !== NULL){ return $realip; } if (isset($_SERVER)){ if (isset($_...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.