美文网首页
获取用户真实ip

获取用户真实ip

作者: 云窗96 | 来源:发表于2018-08-24 09:46 被阅读0次

    REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。
    HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。
    $_SERVER[‘REMOTE_ADDR’]; //访问端(有可能是用户,有可能是代理的)IP

    $_SERVER[‘HTTP_CLIENT_IP’]; //代理端的(有可能存在,可伪造)

    $_SERVER[‘HTTP_X_FORWARDED_FOR’]; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)

    简单的getenv

    function GetIP(){ 
            if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
            $ip = getenv("HTTP_CLIENT_IP"); 
            else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
            $ip = getenv("HTTP_X_FORWARDED_FOR"); 
            else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
            $ip = getenv("REMOTE_ADDR"); 
            else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
            $ip = $_SERVER['REMOTE_ADDR']; 
            else 
            $ip = "unknown"; 
            return($ip); 
        }
    

    $_SERVER

     // 获取IP地址
    function getIp(){
        $ip='未知IP';
        if(!empty($_SERVER['HTTP_CLIENT_IP'])){
            return is_ip($_SERVER['HTTP_CLIENT_IP'])?$_SERVER['HTTP_CLIENT_IP']:$ip;
        }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
            return is_ip($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$ip;
        }else{
            return is_ip($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:$ip;
        }
    }
    function is_ip($str){
        $ip=explode('.',$str);
        for($i=0;$i<count($ip);$i++){ 
            if($ip[$i]>255){ 
                return false; 
            } 
    } 
        return preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/',$str); 
    }
    

    参考:http://www.cnblogs.com/lmule/archive/2010/10/15/1852020.html

    相关文章

      网友评论

          本文标题:获取用户真实ip

          本文链接:https://www.haomeiwen.com/subject/iatbiftx.html