站点启用CDN服务器之后emlog就会无法正确的获取到访客的IP地址,比如俺是360CDN,几乎都是“广东佛山”的显示,解决这个问题我们需要修改一下emlog内核的代码来解决问题。
用编辑器打开 include/lib/function.base.php, 在60行左右能找到以下的代码
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了!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧