博客使用CDN网站加速怎么获取访客的真实IP地址

李洋博客

海外宿主机,香港云主机,租用服务器CN2知名云计算-90IDC


彩虹海-云计算是致力于高性价比高性能云计算供应商

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

最近各大媒体都新增了一个功能,根据IP显示归属地,为了紧跟时代五一假期后一直在写获取IP后显示归属地的办法,但是有点眼高手低了,心里想的挺好操作起来就没有那么省事了,经过重重测试,找接口写代码,CV工程师不是白来的,最终代码完成,但是有一个致命的缺陷,那就是加载缓慢,最终还是决定使用唐朝纯真IP插件,显示IP属地已经解决了,但是又双叒叕遇到一个棘手的问题,因为博客采用了腾讯CDN,所以获取的IP地址都是CDN带来的,不是真是的IP地址,腾讯CDN官方已经告知,HTTP头部已经自动开启“X_FORWARDED_FOR”标头,但是可能我设置不对,并没有显示真实的IP地址。

博客使用CDN网站加速怎么获取访客的真实IP地址 第1张

为了解决这一办法,翻遍了百度能找到的都是WP,终于在墨初的博客上找到了答案,墨初还制作了插件,此文仅仅作为记录。

首先挂接口:

Add_Filter_Plugin('Filter_Plugin_PostComment_Core','mochu_cdnip_cmd_ip');
Add_Filter_Plugin('Filter_Plugin_PostMember_Core','mochu_cdnip_user_ip');

显示真实IP代码:

function mochu_cdnip_cmd_ip(&$cmt){
    global $zbp;
    $cmt->IP = mochu_cdnip_getip();
}
function mochu_cdnip_user_ip(&$mem){
    global $zbp;
    $mem->IP = mochu_cdnip_getip();
}
function mochu_cdnip_getip(){
    global $zbp;
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $arr = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
        return $arr[0];
    }else{
        return $_SERVER['REMOTE_ADDR'];
    }
}

就这么简单就完事了,我还特意去了官方的文件查看,也有类似的代码,但是为什么不好使呢?不清楚,把这段代码放上去就好了,主题会陆续修改这个问题,当然肯定是有开关的,如果开启了CDN想要真实的IP地址就开启吧,否则可以忽略了。因为代码源自墨初,所以函数名称未修改,有需求的自己修改吧,不会修改的小白也不用担心,文章底部有转载链接,可以直接下载插件,上传的网站后台,启用即可。好了,问题都解决了,接下来就是完善IP归属地的代码了,主题会逐一更新,不要着急,毕竟一个人的能力是有限的!

免责声明:本文来自飞鸟慕鱼博客,不代表李洋个人博客的观点和立场,如有侵权请联系本平台处理。

发表评论

快捷回复: 表情:
评论列表 (有 7 条评论,3429人围观)
网友昵称:柒号指令
柒号指令 V 铁粉 QQBrowser 10.9.4817.400 Windows 10 x64 凉席
06-05 来自河北 回复
挂接口咋挂啊[Slap]
网友昵称:流氓大叔
流氓大叔 V 铁粉 Sogou Explorer Windows 10 x64 板凳
05-19 来自广东 回复
挂哪个接口是什么意思呀
网友昵称:李洋博客
李洋博客 V 博主 Sogou Explorer Windows 10 x64
05-19 来自辽宁 回复
@流氓大叔 系统接口!
网友昵称:明月登楼
明月登楼 V 铁粉 Google Chrome 101.0.4951.54 Windows 10 x64 椅子
05-09 来自河南 回复
我都是在Nginx搞定这个的,主要是为了保证Nginx日志的准确性! WordPress 端的倒是无所谓了!
网友昵称:李洋博客
李洋博客 V 博主 Sogou Explorer Windows 10 x64
05-09 来自辽宁 回复
@明月登楼 好想法,我也去弄个。
网友昵称: 曹健伟
曹健伟 V 铁粉 Google Chrome 86.0.4240.198 Windows 10 x64 沙发
05-08 来自湖南 回复
辛苦了博主,用你的主题是我最对的一次选择了!
啥问题都能想我们所想![Fabulous][Witty][Applause]
网友昵称:李洋博客
李洋博客 V 博主 Sogou Explorer Windows 10 x64
05-09 来自辽宁 回复
@ 曹健伟 不用客气,一起学习,一起进步嘛!

目录[+]

取消
微信二维码
微信二维码
支付宝二维码