php获取客户端ip

来源:互联网 发布:软件测试过程模型 编辑:程序博客网 时间:2024/05/17 03:30

php获取客户端ip地址小节:

此外的三个值区别如下:

一、没有使用代理服务器的情况:

REMOTE_ADDR = 您的 IPHTTP_VIA = 没数值或不显示HTTP_X_FORWARDED_FOR = 没数值或不显示

二、使用透明代理服务器的情况:Transparent Proxies

REMOTE_ADDR = 最后一个代理服务器 IPHTTP_VIA = 代理服务器 IPHTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215

这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

三、使用普通匿名代理服务器的情况:Anonymous Proxies

REMOTE_ADDR = 最后一个代理服务器 IPHTTP_VIA = 代理服务器 IPHTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215

隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

四、使用欺骗性代理服务器的情况:Distorting Proxies

REMOTE_ADDR = 代理服务器 IPHTTP_VIA = 代理服务器 IPHTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215

告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)

REMOTE_ADDR = 代理服务器 IPHTTP_VIA = 没数值或不显示HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215

完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。

php获取客户端IP地址方法总结 用php获取客户端IP地址的方法,具体代码如下:

<?php $ip=$_SERVER["REMOTE_ADDR"];echo $ip;?> 
<?php$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;?>
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();
<?phpif ($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:" . $ip;