使用CDN加速获取访客的真实IP地址

最近各大媒体都新增了一个功能,根据IP显示归属地,为了紧跟时代一直在写获取IP后显示归属地的办法,但是有点眼高手低了,心里想的挺好操作起来就没有那么省事了,经过重重测试,找接口写代码,CV工程师不是白来的,最终代码完成,但是有一个致命的缺陷,那就是加载缓慢,最终还是决定使用唐朝纯真IP插件,显示IP属地已经解决了,

但是又双叒叕遇到一个棘手的问题,因为博客采用了腾讯CDN,所以获取的IP地址都是CDN带来的,不是真是的IP地址,腾讯CDN官方已经告知,HTTP头部已经自动开启“X_FORWARDED_FOR”标头,但是可能我设置不对,并没有显示真实的IP地址。

使用CDN加速获取访客的真实IP地址 第2张插图

为了解决这一办法,翻遍了百度能找到的都是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地址就开启吧,否则可以忽略了。

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
如若转载,请注明出处:https://www.lewz.cn/jsjc/426.html

上一篇 2024-4-15 12:05
下一篇 2024-4-15 16:46

相关推荐

发表评论

为了防止灌水评论,登录后即可评论!

还没有评论,快来抢沙发吧!