解决Emlog开启CDN后评论IP不准确的办法

网站接入CDN后,在Emlog获取用户的IP后会导致不准确,甚至网站日志上获取的IP就不是真实的IP,是CDN服务器的IP,这就会引发一些问题。对此本文就针对Emlog站点开启了CDN后评论IP不准确的解决方法。
修改步骤
此步骤需要修改核心文件,修改前请做好备份,找到include/lib/function.base.php,Emlogpro在38行开始
将以下进行代码替换。

  1. /**
  2. * 获取用户ip地址
  3. */
  4. if (!function_exists(‘getIp’)) {
  5. function getIp() {
  6. $ip = isset($_SERVER[‘REMOTE_ADDR’]) ? $_SERVER[‘REMOTE_ADDR’] : ;
  7. if (!filter_var($ip, FILTER_VALIDATE_IP)) {
  8. $ip = ;
  9. }
  10. return $ip;
  11. }
  12. }

替换为:

  1. /**
  2. * 获取用户ip地址
  3. */
  4. if (!function_exists(‘getIp’)) {
  5. function getIp() {
  6. $ip = isset($_SERVER[‘REMOTE_ADDR’]) ? $_SERVER[‘REMOTE_ADDR’] : ;
  7. if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])) {
  8. $list = explode(‘,’, $_SERVER[‘HTTP_X_FORWARDED_FOR’]);
  9. $ip = $list[0];
  10. }
  11. if (!ip2long($ip)) {
  12. $ip = ;
  13. }
  14. return $ip;
  15. }
  16. }

修改保存以后就可以正常获取IP了,此方法对CDN加速的厂商没用限制,不管是百度云加速七牛等CDN加速的一样适用。

免责声明:
根据2013年1月30日《计算机软件保护条例》新规定:第十七条 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。
鉴于此,希望大家按此说明学习以及研究程序软件! 切勿商用,切勿违法使用!!!否则后果自行承担!
下载学习说明:
1.本站用户上传的产品均不提供相关技术服务。
2.如果地址失效、链接失效请上传用户或联系QQ邮箱:3391595187@qq.com 更新。
3.本站用户上传的所有产品仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。如侵权请联系本站下架删除!
4.本网站不能保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习研究为目的,并不是所有的源码都不是100%无错或无bug。
5.本站提供免费网站后门木马查杀软件下载:https://www.58soho.cn/4508/
6.虚拟产品具有复制性,一旦购买积分兑换均不退款,赞助会员开通也均不退款。
7.请您认真阅读上述内容,下载即确定您同意上述内容。

软希网58soho.cn-资源下载平台 » 解决Emlog开启CDN后评论IP不准确的办法