取客户端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 }

如何获取伪装ip下的真实ip地址相关推荐

  1. java后端获取客户端(用户)真实ip,原理

    java后端获取客户端真实ip,原理: 一般都是下面代码中的做法:但很多人只知道这样能拿到,稍微有改动就不知道怎么办了 看看网上的各种说法,接下来容我一一讲解,如有纰漏,敬请指正. public st ...

  2. python获取当前服务器ip_Python实现获取域名所用服务器的真实IP

    本来是要写个程序用的,没写完不写了,这一部分就贴出来吧 验证域名和IP class JianKong(): '''查询IDC信息,封ip和过白名单''' def __init__(self): pas ...

  3. 关于同一局域网中,获取的IP非本地真实IP的问题。

    关于同一局域网中,获取的IP非本地真实IP的问题. 目录结构 查看是否开启了电脑上的 "投屏" 功能 禁用除 "WLAN" 外的其他 "本地连接&qu ...

  4. CDN服务及如何获取CDN服务背后的真实IP

    #CDN原理 首先,为了对CDN进行获取真实IP,我们必须清楚CDN的工作原理,这里我们再来简单介绍一下CDN的工作模型. CDN的全称是Content Delivery Network(内容分发网络 ...

  5. 如何隐藏地址栏中的真实地址_代理IP如何隐藏真实IP

    现在发展越来越快,互联网的发展也是很多样化,这就导致了在上网过程中容易泄露个人信息.这时,只要用代理IP就可以解决这个问题. 多人会问:如果我使用代理,是否有可能将我的真实IP完全隐藏?我不太确定它的 ...

  6. tomcat修改配置文件ip为服务器真实ip

    因为漏洞扫描要求,tomcat中配置localhost可能会有跨站攻击风险,所有需要把server.xml中的localhost改为服务器的真是ip地址. 1.Host节点修改 将Host节点中的na ...

  7. linux怎么静态改为自动获取,Linux系统下设置静态IP或自动获取动态IP的简单方法...

    linux下为机器设置静态ip地址: 复制代码代码如下: vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改这个文件内容如下形式: 复制代码代码如下: # ...

  8. html5调用腾讯视频,小程序h5获取腾讯视频的真实mp4地址video!【前端+后端方法】...

    1.前端方法! 首先复制一个连接!就你上传腾讯视频的url,注意不要拿那种电影啊之类的试! 那种获取不到的!  要拿别人上传的!或者自己上传的试! 取,最后一个/和.html中间内容!后面我又直接写好 ...

  9. 论X-Forwarded-For伪装代理请求与获取真实ip(springboot项目)

    以下项目均是基于springboot2.x构建 1.使用X-Forwarded-For 伪装代理 之前做了一个项目,关于xxx抢购,当时是用spring boot做的,主要功能就是实现模拟真实用户登录 ...

  10. CDN下nginx获取用户真实IP地址

    为什么80%的码农都做不了架构师?>>>    随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能 ...

最新文章

  1. Java 判断字符串是否为空的四种方法、优缺点与注意事项
  2. 如何进入zabbix的wab界面_如何不用光盘重装系统呢?
  3. 随机森林特征重要性计算_R语言随机森林模型中具有相关特征的变量重要性
  4. 章泽天卸任刘强东旗下一公司董事
  5. 如何使用自动化与分析工具库创建 Excel 直方图
  6. 离线环境安装dotnet framework nuget包
  7. 【CIKM2020】如何更为合适地评测推荐算法? Top-N物品推荐算法评测设置回顾
  8. jquery跨域访问解决方案
  9. JavaScript基础专题之执行上下文和执行栈(二)
  10. java mapxtreme_MapXtreme Java Edition 4.8使用心得(一)
  11. 增值税电子发票的对接系统的设计
  12. HTML调用QQ临时会话
  13. 利用PS制作GIF动图
  14. lch 儿童围棋课堂 初级篇1 ( (李昌镐 著))
  15. 幼儿园观察记录的目的和目标_幼儿园一日观察报告
  16. 附加类型”XXXX“的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 “Attach“ 方法或者将实体的状态设置为 “Unchanged“ 或 “Modified“
  17. 股票指数的四种加权方式
  18. ZooZ推出应用内移动支付SDK
  19. 网络攻防技术——XSS实验
  20. Word如何取消打印前自动更新域

热门文章

  1. 用delete带where条件删除特定行部分列(属性)的数据,可能活在梦里
  2. 京东智联云能打破“强者恒强”的定律吗?
  3. 地理信息三维可视化技术在城市规划中的应用
  4. 高景一号01星遥感影像解译数据分辨率是多少
  5. Greedy method and ε-greedy method
  6. 【智能控制】linkboy带你花式开灯
  7. 武汉大学java 期末考试试题_武汉大学java期末考试试题和答案
  8. 【NOI2017模拟3.30】原谅(计算几何,期望)
  9. Frequent values RMQ
  10. 【洛谷T2695 桶哥的问题——吃桶】