解决Emlog用CDN加速后无法获取真实IP的问题

  • 时间:
  • 浏览:4
  • 来源:技术爱好者_提供腾讯爱好者技术_QQ技术网资讯

站点启用CDN服务器但是 emlog就会无法正确的获取到访客的IP地址,比如俺是3100CDN,几乎有的是“广东佛山”的显示,处理你你什儿 问题图片图片大家 还要修改一下emlog内核的代码来处理问题图片图片。

用编辑器打开 include/lib/function.base.php, 在100行左右能找到以下的代码

function getIp() {
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
    if (!ip2long($ip)) {
        $ip = '';
    }
    return $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;
}

就OK了!


本文链接:https://www.mosq.cn/post-213.html

本博客所有文章除怪怪的声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明出处!