【绝招】百度CDN阿里云CDN加速后获取游客真实IP

靖西网牛牛动态域名 2019-04-16

网上搜索各种方法,包括这种“X-Forwarded-For : 用户 IP, 代理服务器 1-IP, 代理服务器 2-IP, 代理服务器 3-IP, ….”、什么Nginx设置都试过也不行。其它这个没有严格的规范和标准,所以不同商家会有不同的设置方法。作为开发者,最简单方法应该是输出当前头部信息进行对比。比如PHP:print_r($_SERVER) 。查看里面哪个变量的IP和ip138.com显示的IP是一样的,那基本就是那个变量了。

本人测试后自己写了一个取真实IP函数,适用未用CDN和使用阿里CDN、百度CDN后

  1. #阿里百度CDN后真实IP
  2. function AbCDN_ip()
  3. {
  4.         
  5.         $IP=false;
  6.         if(!empty($_SERVER["HTTP_CF_CONNECTING_IP"])){
  7.             $IP=trim($_SERVER["HTTP_CF_CONNECTING_IP"]);    
  8.         }elseif(!empty($_SERVER["HTTP_ALI_CDN_REAL_IP"])){
  9.             $IP=trim($_SERVER["HTTP_ALI_CDN_REAL_IP"]);    
  10.         }
  11.         return htmlspecialchars($IP?$IP:$_SERVER['REMOTE_ADDR']);
  12. }

浏览508724 / 回复1
举报内容

竖线全部回复

2019-04-16
腾讯给人感觉不专业,经过腾讯CDN后头部没包含有真实IP。
回复
1
返回 [发帖] 发回复:评论……

+
提交评论