发布网友 发布时间:2022-04-22 11:04
共3个回答
热心网友 时间:2022-04-19 05:21
取客户端ip其实不是个简单的活儿,因为存在Ip欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确.但是我们还是尽量找一个比较完善的获取客户端真正ip方法.使用php获取IP的方法能找到很多.
php获取用户(客户端)真实IP地址的三种方法
查看代码打印
01 function 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 }
第二种方法:
查看代码打印
01 function 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)
02 function 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 }
12 function 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 }
热心网友 时间:2022-04-19 06:39
用辅助软件可以查出来
热心网友 时间:2022-04-19 08:14
兔!《》子动态IP ,支持手机和电脑用的,IP覆盖全国,IP很多
你如果需要改不同的IP地址,刷网站点击量,这个对你有很大帮助
隐藏IP