• 10万+阅读
  • 1回复

微信扫一扫分享精彩

分享到

 

【绝招】百度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. }

帖子签名

腾讯给人感觉不专业,经过腾讯CDN后头部没包含有真实IP。
帖子签名
只看该作者 1楼 发表于: 2019-04-16
快速回复
限150 字节
 
 
添 加 图 片
<--上传图片在这里,多大图片都可以!
上一个 下一个
      关闭