PHP获取用户IP的5种常用方法

//方法1:
<?php                                                                                                                                
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
//方法2:
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
//方法3:
function getRealIp()
{
    $ip=false;
    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    }
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
        if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
        for ($i = 0; $i < count($ips); $i++) {
            if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
                $ip = $ips[$i];
                break;
            }
        }
    }
    return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();
//方法4:
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
    $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
    $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
    $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
    $ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
    $ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
    $ip = getenv("REMOTE_ADDR");
}
else
{
    $ip = "Unknown";
}
echo $ip ;
//方法5:
if(getenv('HTTP_CLIENT_IP')) {
    $onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
    $onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
    $onlineip = getenv('REMOTE_ADDR');
} else {
    $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
本博客所有文章如无特别注明均为原创。作者:小乐复制或转载请以超链接形式注明转自 众众帮
原文地址《PHP获取用户IP的5种常用方法
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(6)

And for good cause: It was gradual, it appeared completely different than advertised, there have been no USB ports with out a
bulky adapter, the microSD reminiscence card slot wasn't spring loaded, so it was nearly impossible
to get the card out. Thus, in Slot Filling level, we further label "耐克"(Nike) as Brand
Property (B-Brand/I-Brand), and "黑色"(black) as Color Property
(B-Color/I-Color). Without an APX radio, some first responders must carry a couple of radio, or
rely on data from dispatchers before proceeding with very important response activities.
The Craig Web site doesn't present any data on retail places the place they are available for purchase
(or beneficial retail prices, as we mentioned beforehand).
The Maylong Web site is maddeningly vague at greatest, and simply plain inaccurate
at worst. Web site to assist you to see your
train information -- you've to attach the detachable USB thumb drive to a computer to sync the data it
collects. For extra data on cutting-edge products, award some time to the hyperlinks on the next web page.

That signifies that when disaster strikes, first responders from a large variety of
companies can talk and coordinate in actual time.
ZZ 3周前 (2023-11-13) 回复
Thanks for sharing your thoughts on 众众帮.
Regards
LF 4个月前 (2023-07-30) 回复
Thanks for finally talking about >PHP获取用户IP的5种常用方法 - 众众帮 <Loved it!
AC 2年前 (2022-02-06) 回复
Thanks for finally talking about >PHP获取用户IP的5种常用方法
- 众众帮 <Loved it!
ND 2年前 (2022-01-22) 回复
Thanks for sharing your thoughts on 众众帮.
Regards
SP 2年前 (2021-08-19) 回复
WOW just what I was looking for. Came here by searching for 众众帮
CZ 2年前 (2021-08-14) 回复