網站接入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加速的一樣適用。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
相關文章
暫無評論...