设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2418|回复: 1

phpdisk网盘源码获取CDN后的用户上传文件的真实IP地址的方法

[复制链接]
 成长值: 255

签到天数: 4710 天

[LV.Master]伴坛终老

发表于 2015/7/27 03:53 | 显示全部楼层 |阅读模式 |Google Chrome 44.0.2403.107|Windows 8.1
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
/includes/function/global.func.php

搜索
  1. function get_ip(){
  2.         if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  3.                 $onlineip = getenv('HTTP_CLIENT_IP');
  4.         } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  5.                 $onlineip = getenv('HTTP_X_FORWARDED_FOR');
  6.         } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  7.                 $onlineip = getenv('REMOTE_ADDR');
  8.         } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  9.                 $onlineip = $_SERVER['REMOTE_ADDR'];
  10.         }
  11.         $onlineip = addslashes($onlineip);
  12.         @preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
  13.         $onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
  14.         unset($onlineipmatches);
  15.         return $onlineip;
  16. }
复制代码


替换
  1. function get_ip(){
  2.         if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
  3.                 foreach ($matches[0] AS $xip) {if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {$onlineip = $xip;break;}}
  4.         } elseif(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  5.                 $onlineip = getenv('HTTP_CLIENT_IP');
  6.         } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  7.                 $onlineip = getenv('REMOTE_ADDR');
  8.         } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  9.                 $onlineip = $_SERVER['REMOTE_ADDR'];
  10.         }
  11.         $onlineip = addslashes($onlineip);
  12.         @preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
  13.         $onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
  14.         unset($onlineipmatches);
  15.         return $onlineip;
  16. }
复制代码


欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

没呼吸旳男人 该用户已被删除
发表于 2015/7/27 03:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/26 14:54 , Processed in 0.133763 second(s), 23 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表