emlog博客系统有些服务器获取不到正确的客户IP解决办法

飘逸的风13年前 (2013-06-18)程序10430
有些情况下,emlog博客系统自带的获取IP的函数无法获取到正确的客户端IP(本站就是),比如站点启用CDN服务器之后emlog就会无法正确的获取到访客的IP地址, 解决这个问题我们需要修改一下emlog内核的代码来解决问题.
用编辑器打开 include/lib/function.base.php, 在60行左右能找到以下的代码:
/**
* 获取用户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;
}

修改完毕,保存即可。

相关文章

Emlog常用日志列表页的判断

  Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面...

emlog SyntaxHighlighter 代码高亮插件[提供下载,更新至1.2]

emlog SyntaxHighlighter 代码高亮插件[提供下载,更新至1.2]

emlog SyntaxHighlighter 代码高亮插件,可以把代码贴在代码框中,确定后自动生成高亮代码。 注:本插件已升级,修复在代码很长换行的时候左边的行数不增加问题;插入代码里有HTML标...

PHP给图片添加水印和生成缩略图函数

给图片添加水印: /************************************ 函数: watermark($bigimg, $smallimg, $coord = 1) 作用:...

ecshop搜索热门关键字的调用

码关键字的设定在:后台-商店设置-显示设置--首页搜索的关键词 {if $searchkeywords} {$lang.hot_search} :  {foreach from...

PHP购物车类,简单易用,移植CodeIgniter,并进行一些优化[附带实例]

个人感觉CodeIgniter用起来方便,但有时候做电子商城网站的时候,没有使用CodeIgniter框架,但想用CodeIgniter里的购物车程序,那么就需要对其购物车类进行修改。但CodeIgn...

PHP无限级分类的简单实现方法

PHP无限级分类的简单实现方法

PHP无限级分类的简单实现方法,请看截图:   代码是:  <?php  header("Content-type: text/html;&n...

评论列表

飘逸的风
13年前 (2013-06-18)

测试IP评论。

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。