解決Emlog開啟CDN后評論IP不準確的辦法

廣告也精彩

網站接入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加速的一樣適用。

? 版權聲明

相關文章

暫無評論

none
暫無評論...