1. 当前位置: 网站首页 >  零散代码 >  解决emlog使用加速乐(CDN)后不能记录真实IP

解决emlog使用加速乐(CDN)后不能记录真实IP

emlog博客系统(http://nctoro.com)使用加速乐CDN)后发现评论人和在线统计插件显示的IP都是加速乐(CDN)的节点IP,查阅了很多资料终于找到了解决办法:

打开\include\lib\function.base.php这个文件,找到

/**
 * 获取用户ip地址
 */
function getIp() {
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';

 

在下面插入:

 if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',

 $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {

$ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];

 } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',

$_SERVER['HTTP_X_FORWARDED_FOR'])) {

 $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',

$_SERVER['HTTP_CLIENT_IP'])) {

 $ip = $_SERVER['HTTP_CLIENT_IP'];

}

修改成功后保存,emlog就能正常显示评论人的真实IP了,当然在线统计插件也统计的真实IP而不是加速乐(CDN)的节点IP。


展开全文


版权说明 手机扫码阅读
版权所有:《路由通》 => 《解决emlog使用加速乐(CDN)后不能记录真实IP
本文地址:https://nctoro.com/daima/196.html
除非注明,文章均为 《路由通》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论


评论列表

冈本
冈本回复
#1
楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢侬! 
2013-06-06 20:35

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注