php如何获取真实IP(可绕过代理)

文章热词:获取真实IP

日期:2019-03-06 14:47 by 杨国伟 574 0 收藏
我要分享

摘要:php 获取真实IP,该函数将获取客户端用户的真实IP地址,即便使用了代理服务器,也可以得到真正的IP。

php 获取真实IP,该函数将获取客户端用户的真实IP地址,即便使用了代理服务器,也可以得到真正的IP。

<?php
function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))
    {
        $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    {
        $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
        $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
?>

获取IP方法:

<?php
echo getRealIpAddr();
?>

网传的另一个PHP获取真实IP的函数代码:

<?php
function GetIP(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "未知IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "未知IP"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "未知IP"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "未知IP"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "未知IP";
return($ip);
}
?>

用法同样简单,这样:

<?php
echo GetIP();
?>


上一篇:常用正规表达式

下一篇:php生成随机颜色方法汇总


评论