首页 > 编程知识 正文

如何伪造ip地址,IP地址伪装

时间:2023-05-03 22:10:09 阅读:254432 作者:4591

取客户端ip其实不是个简单的活儿,因为存在Ip欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确.但是我们还是尽量找一个比较完善的获取客户端真正ip方法.使用php获取IP的方法能找到很多.


php获取用户(客户端)真实IP地址的三种方法

查看代码 打印 01function get_real_ip(){ 02    $ip=false; 03    if(!empty($_SERVER['HTTP_CLIENT_IP'])){ 04        $ip=$_SERVER['HTTP_CLIENT_IP']; 05    } 06    if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ 07        $ips=explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']); 08        if($ip){ array_unshift($ips, $ip); $ip=FALSE; } 09        for ($i=0; $i < count($ips); $i++){ 10            if(!eregi ('^(10│172.16│192.168).', $ips[$i])){ 11                $ip=$ips[$i]; 12                break; 13            } 14        } 15    } 16    return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); 17}

第二种方法:

查看代码 打印 01function get_real_ip(){ 02    static $realip; 03    if(isset($_SERVER)){ 04        if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ 05            $realip=$_SERVER['HTTP_X_FORWARDED_FOR']; 06        }else if(isset($_SERVER['HTTP_CLIENT_IP'])){ 07            $realip=$_SERVER['HTTP_CLIENT_IP']; 08        }else{ 09            $realip=$_SERVER['REMOTE_ADDR']; 10        } 11    }else{ 12        if(getenv('HTTP_X_FORWARDED_FOR')){ 13            $realip=getenv('HTTP_X_FORWARDED_FOR'); 14        }else if(getenv('HTTP_CLIENT_IP')){ 15            $realip=getenv('HTTP_CLIENT_IP'); 16        }else{ 17            $realip=getenv('REMOTE_ADDR'); 18        } 19    } 20    return $realip; 21}

第三种方法,摘自DISCUZ,应该还不错吧!

查看代码 打印 01// 获取IP地址(摘自discuz) 02function getIp(){ 03    $ip='未知IP'; 04    if(!empty($_SERVER['HTTP_CLIENT_IP'])){ 05        return is_ip($_SERVER['HTTP_CLIENT_IP'])?$_SERVER['HTTP_CLIENT_IP']:$ip; 06    }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ 07        return is_ip($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$ip; 08    }else{ 09        return is_ip($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:$ip; 10    } 11} 12function is_ip($str){ 13    $ip=explode('.',$str); 14    for($i=0;$i<count($ip);$i++){  15        if($ip[$i]>255){  16            return false;  17        }  18    }  19    return preg_match('/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$/',$str);  20}
青浦)勒索病毒加固方案

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。