emlog开启CDN后访客评论IP地址不正确的解决办法

时间::2013-10-06 栏目: 技术分享 作者: ↗℡ 浮华 青春 评论: 1 点击: 7528 次

开CDN想获取真实IP地址的话需要修改一下内核代码用编辑器打开 include/lib/function.base.php 找到下面的代码, 大约在113行左右.
/**
 * 获取用户ip地址
 */
function getIp() {
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
    if (!ip2long($ip)) {
        $ip = '';
    }
     return $ip;
}

修改为如下代码:
/**
* 获取用户ip地址
*/
function getIp() {
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
        $ip = $list[0];
    }        
    if (!ip2long($ip)) {
        $ip = '';
    }
    return $ip;
}

保存并覆盖后emlog即可获取到真实ip了
注:emlog自动升级后可能会导致修改失效~请重新手动修改!

声明: 本文由(↗℡ 浮华 青春)原创编译,转载请保留链接: emlog开启CDN后访客评论IP地址不正确的解决办法

(选择后可查看结果)阅读本文后,您的心情是:
 
恶心
愤怒
强赞
感动
路过
无聊
雷囧
关注
et_highlighter51

emlog开启CDN后访客评论IP地址不正确的解决办法:目前有 1 条留言

  1. # 沙发
    该昵称已屏蔽:

    恩,试试,体会一下。

    2013-10-15 10:10 [回复]

发表评论

------====== 本站公告 ======------
博主大学蜕变期间,更新量应该骤减,表示十分可怕。2016,一起加油!

北京时间

    敢于浪费哪怕一个钟头时间的人,说明他还不懂得珍惜时间的全部价值。

    ——达尔文