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

2021-12-23 1003阅读

温馨提示:这篇文章已超过854天没有更新,请注意相关的内容是否还可用!

前几天发过一篇关于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地址的方法  网站提交 z-blog网站 cdn加速后获取用户真实IP地址的方法 网 网站 功能 第1张

提交用户资料获取IP地址

z-blog网站cdn加速后获取用户真实IP地址的方法  网站提交 z-blog网站 cdn加速后获取用户真实IP地址的方法 网 网站 功能 第2张

提交评论获取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地址的方法  网站提交 z-blog网站 cdn加速后获取用户真实IP地址的方法 网 网站 功能 第3张

小编用话说:

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

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

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