前几天发过一篇关于PHP获取网站使用cdn后的用户真实的IP地址的方法,然后就有群里的小伙件单独来问,如果使用z-blog建站并使用cdn加速的话是如何获取用户的真实IP地址呢?那么今天就交大家一个简单的方法。

z-blog cdn加速后获取用户真实IP地址的方法

z-blog需要获取用户IP地址的地方大概有两处,一个后台建立新用户时需要获取当前管理的IP地址,另一个是访客在前台提前评论时,需要获取访客的IP地址。

打开 zb_system/function/c_system_event.php

找到如果下图两处,分别是提交用户资料时获取用户IP地址以及提交评论时获取IP地址的代码

z-blog网站cdn加速后获取用户真实IP地址的方法

提交用户资料获取IP地址

z-blog网站cdn加速后获取用户真实IP地址的方法

提交评论获取IP地址

可以比较一下,上面两张图所要获取IP地址方式都是调用的同一个函数 GetGuestIP() ,我们只需要在z-blog中改动这个函数的代码就可以获取z-blog在cdn加速的情况下用户真实的IP地址了。

打开 zb_system/function/c_system_common.php  要用代码编辑器打开,推荐 notepad++

查找代码:

function GetGuestIP()
{
    return GetVars("REMOTE_ADDR", "SERVER");
}

替换代码

function GetGuestIP()
{
   if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $arr = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
        return $arr[0];
    }else{
        return $_SERVER['REMOTE_ADDR'];
    }
}

替换后的代码,如下图所示

z-blog网站cdn加速后获取用户真实IP地址的方法

小编用话说:

1、z-blog默认后台是无法显示评论的IP地址的,你可以使用一些相关的评论插件来查看评论的IP地址

2、z-blog默认后台的用户管理也无法查看用户的注册地址,你也可以使用用户中心一类的插件来查看

3、如果你不想修改代码,可以下载插件来实现此功能。

z-blog获取CDN IP插件平台 : 其它平台  |  分类 : 编程开发  |  大小 : 0.1 MB