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

【摘要】 站点启用CDN服务器之后emlog就会无法正确的获取到访客的IP地址,比如我是360的CDN 几乎都是“江苏省常州市 360网站卫士电信CDN节点”的显示 解决这个问题我们需要...

  • 内容
  • 相关

站点启用CDN服务器之后emlog就会无法正确的获取到访客的IP地址,比如我是360的CDN

几乎都是江苏省常州市 360网站卫士电信CDN节点”的显示

解决这个问题我们需要修改一下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;
}


本文标签:

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

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

本文链接:解决Emlog用CDN加速后无法获取真实IP的问题 - http://ini.ee/Experience/9.html

二维码加载中……

发表评论

电子邮件地址不会被公开。 必填项已用*标注。采用输入QQ快速评论,有人回复邮件通知

评论

4条评论
  1. avatar

    筑楼 Lv.1 Chrome 50.0.2661.102 Chrome 50.0.2661.102 Windows 7 x64 Edition Windows 7 x64 Edition 回复

    Zblog也是这样修改吗?

    河南省 移动

    1. 玖梦 Safari 11.0 Safari 11.0 iPhone iOS 11.0 iPhone iOS 11.0 回复

      回复了筑楼:没有用过zblog,不清楚诶,不过你可以试试

      湖南省长沙市 电信

  2. avatar

    便宜VPS Lv.1 Chrome 45.0.2454.101 Chrome 45.0.2454.101 Windows 8.1 x64 Edition Windows 8.1 x64 Edition 回复

    朋友 交换链接吗

    江苏省苏州市 电信

    1. avatar

      玖梦 Chrome 51.0.2704.81 Chrome 51.0.2704.81 Android 6.0.1 Android 6.0.1 回复

      滴!学生卡!打卡时间:下午8:27:47,请上车的乘客系好安全带~

      湖南省长沙市 电信

      00:00 / 00:00
      顺序播放