解决emlog使用加速乐(CDN)后不能记录真实IP

时间::2013-04-02 栏目: 零散代码 作者: 冰凌 评论: 1 点击: 8305 次

emlog博客系统(http://nctoro.com)使用加速乐CDN)后发现评论人和在线统计插件显示的IP都是加速乐(CDN)的节点IP,查阅了很多资料终于找到了解决办法:

打开\include\lib\function.base.php这个文件,找到

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

 

在下面插入:

 if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',

 $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {

$ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];

 } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',

$_SERVER['HTTP_X_FORWARDED_FOR'])) {

 $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',

$_SERVER['HTTP_CLIENT_IP'])) {

 $ip = $_SERVER['HTTP_CLIENT_IP'];

}

修改成功后保存,emlog就能正常显示评论人的真实IP了,当然在线统计插件也统计的真实IP而不是加速乐(CDN)的节点IP。


版权所有:《无线路由器,光猫,192.168.1.1 基础知识-路由通》 => 《解决emlog使用加速乐(CDN)后不能记录真实IP
本文地址:http://nctoro.com/?post=196
除非注明,文章均为 《冰凌》 原创,欢迎转载!转载请注明本文地址,谢谢。

解决emlog使用加速乐(CDN)后不能记录真实IP:目前有 1 条留言

发表评论



  1. # 沙发
    冈本:

    楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢侬! 

    2013-06-06 20:35 [回复]

最新碎语

  • 警惕otctrade这个玩客币交易网站

    2017-10-18 16:00

  • 现在连域名都要实名认证了。不认证就访问不了。

    2017-08-03 10:36

  • 爱情的漩涡,踏入后将不能自拔。

    2015-09-12 09:28