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

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

时间::2013-04-02 栏目: 零散代码 作者: 冰凌 评论: 1 点击: 11981 次

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。


如果你觉得不错,也可以使用微信打赏一下:

打赏

微信扫一扫

版权所有:《192.168.0.1,192.168.1.1无线路由器,光猫, 基础知识-路由通》 => 《解决emlog使用加速乐(CDN)后不能记录真实IP
本文地址:https://nctoro.com/daima/196.html
除非注明,文章均为 《冰凌》 原创,欢迎转载!转载请注明本文地址,谢谢。

解决emlog使用加速乐(CDN)后不能记录真实IP:目前有 1 条留言

发表评论



  1. # 沙发
    冈本

    楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢侬! 

    来自:美国 2013-06-06 12:35 [回复]

关注微信公众号