Emlog启用CDN后如何获取真实IP

  • 内容
  • 相关

Emlog开起CDN加速后会出现获取不到正确的IP,通过修改部分文件可以解决这个问题
具体办法,修改include/lib/function.base.php文件

/**
* 获取用户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;
}

本文标签:

收录状态:百度-[百度已收录]360-[360未收录]搜狗-[搜狗已收录]

版权声明:若无特殊注明,本文皆为《曹杰峰》原创,转载请保留文章出处。

本文链接:Emlog启用CDN后如何获取真实IP - https://www.caojiefeng.com/emlog/48.html