返回列表 发布新帖
查看: 12|回复: 0

解决Emlog开启CDN后评论IP不准确的办法

1836

主题

52

回帖

1万

积分

管理员

积分
19864
发表于 2025-10-6 12:37:57 | 查看全部 |阅读模式
网站接入CDN后,在Emlog获取用户的IP后会导致不准确,甚至网站日志上获取的IP就不是真实的IP,是CDN服务器的IP,这就会引发一些问题。对此本文就针对Emlog站点开启了CDN后评论IP不准确的解决方法。
修改步骤
此步骤需要修改核心文件,修改前请做好备份,找到include/lib/function.base.php,Emlogpro在38行开始
将以下进行代码替换。
/** * 获取用户ip地址 */if (!function_exists(\'getIp\')) {    function getIp() {        $ip = isset($_SERVER[\'REMOTE_ADDR\']) ? $_SERVER[\'REMOTE_ADDR\'] : \'\';        if (!filter_var($ip, FILTER_VALIDATE_IP)) {            $ip = \'\';        }        return $ip;    }}
替换为:
/** * 获取用户ip地址 */if (!function_exists(\'getIp\')) {    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;}}
修改保存以后就可以正常获取IP了,此方法对CDN加速的厂商没用限制,不管是百度云加速七牛等CDN加速的一样适用。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表