当前位置:首页 » 好文分享 » 详情

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

李明博客使用安全宝CDN加速后发现评论人的IP都是安全宝CDN的节点IP(也有可能是服务器IP),由于使用CDN后访问用户服务器的IP都变成CDN服务器的IP,查阅了很多资料终于找到了解决办法。

Emlog开启CDN后评论IP不正确

解决这个问题我们需要修改一下emlog内核的代码的,

用编辑器打开 include/lib/function.base.php, 在56行左右能找到以下的代码

/**
 * 获取用户ip地址
 */
function getIp() {
	$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
	if (!ip2long($ip)) {
		$ip = '';
	}
	return $ip;
}

将其修改为

/**
* 获取用户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;
}

修改完毕后保存即可, 此时你的站点的IP地址就能正常显示了,这种方法也同样适用于加速乐、百度云、七牛等CDN加速的。


打赏
X
打赏方式:
  • 支付宝
  • 微信
  • QQ红包

打开支付宝扫一扫
日期:2014年09月09日 02:12:32 星期一   分类:好文分享   浏览(77854)   评论(33)
本文地址:https://www.blogs.hk/post-339.html   [百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

留言咨询

自动获取QQ

昵称

邮箱

网址

      Copyright © 2024 博客之家 版权所有  
      關於本站免責聲明sitemap新站登錄