if($_SERVER['HTTP_X_FORWARDED_FOR'])
{
$onlineip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif($_SERVER['HTTP_CLIENT_IP'])
{
$onlineip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$onlineip = $_SERVER['REMOTE_ADDR'];
}

解决方案 »

  1.   

    if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
    $onlineip = getenv('HTTP_CLIENT_IP');
    } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
    $onlineip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    $onlineip = getenv('REMOTE_ADDR');
    } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
    $onlineip = $_SERVER['REMOTE_ADDR'];
    }
    dz里面写的应该没有问题
      

  2.   

    $user_ip = $REMOTE_ADDR;  
    或者$user_ip =getenv("REMOTE_ADDR");
    =============
    可否?
      

  3.   

    得到的都是假的IP ???得到的都只能是用户机器连接到互联网时的接入点的地址
    如果使用互联网上的代理,则是代理地址。如果该代理允许暴露真实地址,则是上述接入点地址互联网上的都是真ip,不存在假的。即便你能对ip进行伪装,但伪装后的ip依然是真实有效的ip
      

  4.   

    $_SERVER['remote_addr'] 这个就是对方的IP,用了代理就是代理的ip,反正他怎么伪装都好 都要绑定在一个IP上的一个端口 于你的IP上的提供服务端口链接,所以来源一定会有,但是是不是对方客户的真的IP 只有对方知道