虚拟主机域名注册-常见问题虚拟主机问题 → 虚拟主机问题


DISCUZ!1X 使用CDN后获取真实IP方法
作者:

DX 修改如下文件 /source/class/class_core.php

懒人请下载 

class_core.rar


修改办法,在class_core.php中:


以下为官方原始代码 

function _get_client_ip1() { 
$clientip = ''; 
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { 
$clientip = getenv('HTTP_CLIENT_IP'); 
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { 
$clientip = getenv('HTTP_X_FORWARDED_FOR'); 
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { 
$clientip = getenv('REMOTE_ADDR'); 
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { 
$clientip = $_SERVER['REMOTE_ADDR']; 


preg_match("/[\d\.]{7,15}/", $clientip, $clientipmatches); 
$clientip = $clientipmatches[0] ? $clientipmatches[0] : 'unknown'; 
return $clientip; 
}

复制代码
以下代码是在网上找到的,已经通过我的测试,请大家看看是否会出现其他问题。 

function _get_client_ip() 
global $_SERVER; 
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) 

$realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 

elseif (isset($_SERVER["HTTP_CLIENT_IP"])) 

$realip = $_SERVER["HTTP_CLIENT_IP"]; 

else 

$realip = $_SERVER["REMOTE_ADDR"]; 

return $realip; 

 



来源:
阅读:1276
日期:2012-12-21

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:如何把73G-10G以外的磁盘大小,挂在/home分区
下一篇:梦想数据携支付宝推出阶梯费率接口!
  >> 相关文章