WordPress 评论显示IP归属地插件–WP-UserAgent[增强版 13.01.01]

更新日志:
= v13.01.01 =
* 替换本地ip2country查询逻辑,改成接口查询
* 支持IPv6 国家图标显示
* 增加ip转国家地址配置功能
* IPv6模式下,地址显示从Unknow改为未知地址
* 修复部分国旗不显示bug
* 可用查询服务器:
1.http://ip.nai.dog/getIpInfo?addr=114.114.1.1 配置路径填写:http://ip.nai.dog/getIpInfo?addr=
2.https://api.country.is/162.245.238.69 配置路径填写:https://api.country.is/ 
说明:https请求需要配置php https模块,否则会失败,如果失败请使用我提供的免费接口,或者参考这个项目自己部署查询服务:https://github.com/realchandan/Ip-geo-API

效果:

之所以要升级是因为这个原因:

这个问题其实很久之前就发现了,但是一直没去找具体原因。今天看了下代码发现代码是通过这个代码实现的:

function CID_get_country($ip) {
    require_once(dirname(__FILE__).'/ip2c/ip2c.php');
    if (isset($GLOBALS['ip2c'])) {
        global $ip2c;
    } else {
        $ip2c = new ip2country(dirname(__FILE__).'/ip2c/ip-to-country.bin');
        $GLOBALS['ip2c'] = $ip2c;
    }
    return $ip2c->get_country($ip);
}

而这段代码依赖于ip-to-country.bin这个二进制文件,这个文件到现在已经有十几年历史了,并且数据只有ipv4。于是想着去更新下ip地址库,但是找了一圈下载了个csv格式的,官方提供的查询代码需要导入数据库(相关免费版本数据和代码从这个网址下载:https://db-ip.com/db/)。这个作法老觉得有点费劲,尤其是,主要是,姐姐不会用插件写入数据库啊,如果要手工导入,那插件用来干嘛捏。

后来从github上找到一个开源项目,可以自己部署一个:

https://github.com/realchandan/Ip-geo-API

并且是支持ipv6的。这样就简单了很多,当然也有不需要授权的免费接口:https://api.country.is/162.245.238.69

https://country.is

目前插件支持这两种接口形式,可以自己选择要使用的接口。但是:

https请求需要配置php https模块,否则会失败,如果失败请使用我提供的免费接口http://ip.nai.dog/getIpInfo?addr=114.114.1.1

本地查询版本:

https://h4ck.org.cn/2023/08/wordpress-%E8%AF%84%E8%AE%BA%E6%98%BE%E7%A4%BAip%E5%BD%92%E5%B1%9E%E5%9C%B0%E6%8F%92%E4%BB%B6-wp-useragent%E5%A2%9E%E5%BC%BA%E7%89%88-12-02-01/

 

服务器地址配置见插件页面,

如果不想使用接口查询方式,请不要升级插件!

如果不想使用接口查询方式,请不要升级插件!

如果不想使用接口查询方式,请不要升级插件!

文件哈西:

MD5 (/Applications/phpstudy/WWW/127.0.0.1/wp-content/plugins/wp-useragent13.01.01.zip) = 0c905df0ea184b00671826f669659aa8

下载地址:

温馨提示: 此处隐藏内容需要发表评论,并且审核通过后才能查看。
(发表评论请勾选 在此浏览器中保存我的显示名称、邮箱地址和网站地址,以便下次评论时使用。
(请仔细检查自己的昵称和评论内容,以免被识别为垃圾评论而导致无法正常审核。)

☆版权☆

* 网站名称:obaby@mars
* 网址:https://nai.dog/
* 个性:https://oba.by/
* 本文标题: 《WordPress 评论显示IP归属地插件–WP-UserAgent[增强版 13.01.01]》
* 本文链接:https://www.nai.dog/2023/08/12846
* 短链接:https://oba.by/?p=12846
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

70 comments

  1. Level 5
    Google Chrome 115 Google Chrome 115 Windows 10 Windows 10 us亚太地区

    大佬的动手能力太强了!赞一个。

    1. 公主 Queen 
      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

      这些上古时期的代码改起来太费劲了,主要是姐姐也不是专业的php程序媛。

      1. Level 5
        Google Chrome 115 Google Chrome 115 Windows 10 Windows 10 us亚太地区

        我这边图标无法加载,是屏蔽了国外的访问么?手机端好像也是无法加载(不开代理)。

        1. 公主 Queen 
          Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

          并没有,最近图片总是有各种奇怪的问题。就让人很抑郁。你用的手机流量吗?
          手机流量有可能出不了图片,iphone都有一定概率打不开网站,哈哈哈。
          联系cdn客服了,但是并没有什么卵用~~

        2. 公主 Queen 
          Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

          刚看明白,是图标无法显示。嘿嘿,这个是我自己的ip转国家的服务挂了,哈哈哈。目前提供的公网的服务是可用的。 rofl

    1. 公主 Queen 
      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

      之前是又拍(主站)+百度云加速(图片),现在图片换回家里的服务器之后图片换成了 无畏云,主站用的云盾。这几天表现比较奇怪,手机流量各种打不开网站,无法加载之类的。

      1.  Level 3
        Google Chrome 115 Google Chrome 115 Windows 10 Windows 10 cn重庆市 电信

        昨天我用了无畏云CDN,用了一天,晚上切换回来还是用的云盾CDN,证书就这样了,我昨天清空了缓存,就正常了,你可以清除缓存再试试,看看还会不会出现证书问题呀,我这边测试是么得问题的

          1.  Level 3
            Google Chrome 115 Google Chrome 115 Windows 10 Windows 10 cn重庆市 电信

            嗯嗯,成都,广州,浙江金华测试都没问题,应该就是节点缓存问题,现在百度云加速用不了了,证书设置都不见了,又拍云1个月免费15GB,不太够用,估计几天就消耗完了,

            1. 公主 Queen 
              Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

              百度的那个破玩意儿是外包的,可以通过f12把菜单再找回来。但是他们现在弄成这个样子纯粹就是恶心人。https://oba.by/?p=12726 我再这篇文章写了,反正是挺烂的,也不想和他们折腾了。
              又拍的那个的确太少了。

              1.  Level 3
                Google Chrome 115 Google Chrome 115 Windows 10 Windows 10 cn重庆市 电信

                无畏云节点那是非常多的,以至于官方都给我提供不了加速节点的ip表,然后昨天节点请求被防火墙大量拦截了,没加白名单,再就是无畏云不防CC这些安全设置,主站还是换回云盾CDN,给其他站使用

                1. 公主 Queen 
                  Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

                  没有白名单的路过,哈哈哈。现在服务器在家里,没有防火墙,只是映射了几个端口出来。
                  无畏的防护能力确实欠缺一些。

  2.  Level 3
    Google Chrome 115 Google Chrome 115 Windows 10 Windows 10 cn重庆市 电信

    评论旁边的头像显示不了,应该要修复一下了

    1. 公主 Queen 
      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 联通

      我这里是正常啊,并没有人提过这个问题。你那里不显示吗?

  3.  Level 5
    Google Chrome 108 Google Chrome 108 Mac OS X 10.15 Mac OS X 10.15 cn北京市 联通

    又出新版了,还带亲密度,果然是你啊,这个脑回路不一样,下载看看啥样。

    1. 公主 Queen 
      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 移动

      亲密度这个没加到插件里面,嘻嘻。怕有人不喜欢啊~~~

      1.  Level 5
        Google Chrome 108 Google Chrome 108 Mac OS X 10.15 Mac OS X 10.15 cn北京市 联通

        如果方便分享,可以给我个亲密度的版本,这个我太爱了,适合我这种比较浪漫的人,我要看看我最亲密的兄弟姐妹们。

        1. 公主 Queen 
          Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 移动

          代码没有写到插件内,相关的代码已经邮件发你啦~~ kiss

                    1.  Level 5
                      Google Chrome 108 Google Chrome 108 Mac OS X 10.15 Mac OS X 10.15 cn北京市 联通

                      可以访问了,不清楚啥问题,我更新了下后台的缓存可以了,地址的图片堆砌在一起了。

                    2. 公主 Queen 
                      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 移动

                      你的style.css 定义的图片都是block:

                      img {
                      display: block;
                      height: auto;
                      max-width: 100%;
                      }

                      把display: block;去掉就ok了,或者重新定一下插件的图片样式。
                      修改下样式~~

                  1. 公主 Queen 
                    Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 移动

                    你的style.css 定义的图片都是block:

                    img {
                    display: block;
                    height: auto;
                    max-width: 100%;
                    }

                    把display: block;去掉就ok了,或者重新定一下插件的图片样式。

                    1.  Level 5
                      Google Chrome 108 Google Chrome 108 Mac OS X 10.15 Mac OS X 10.15 cn北京市 联通

                      不知道哪里来了一堆机器人在攻击wp-cron.php,我在后台设置呢,把cpu干到100了,好几个月了忽然又来这么一下子。

                    2. 公主 Queen 
                      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 移动

                      你改啥了,把评论改挂了
                      error

                    3.  Level 5
                      Google Chrome 108 Google Chrome 108 Mac OS X 10.15 Mac OS X 10.15 cn北京市 联通

                      可以了,被攻击一下午,换的cloudflare 已经正常了,太恶心了这波攻击,浪费我一下午时间。评论可能是和哪个插件冲突,我重置插件正常啦。

                    4. 公主 Queen 
                      Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 移动

                      评论还是有问题,报错依旧。
                      无聊的沙雕太多了,我的现在貌似还被江苏反诈劫持着。就tm离谱,申请解封,短信通知解封了。
                      但实际没解封,太不要脸了。

  4. Level 1
    Google Chrome 116 Google Chrome 116 Windows 10 Windows 10 cn江苏省常州市 电信

    感谢大佬辛勤付出!!!

      1. 公主 Queen 
        Google Chrome 116 Google Chrome 116 Mac OS X 10.15 Mac OS X 10.15 cn山东省济南市 移动

        可能是忘了改版本号了,嘻嘻。大意了。看压缩包的版本是对的就ok了。
        如果还是在意的话重新下载吧,我更新下载连接了。现在下载的压缩包带repack。

      1.  Level 5
        IBrowse r IBrowse r Android 10 Android 10 cn河南省漯河市 联通

        请问大神,这个显示地址、系统和浏览器的文字字体大小,请问知道从哪里可以修改一下?我想改小一号14px。

        1. 公主 Queen 
          Google Chrome 116 Google Chrome 116 Windows 10 Windows 10 cnShandong Qingdao

          直接修改wp的样式表添加自定义样式。修改wp-useragent 的样式就行,不然的话就得修改插件的wp-useragent.php

    1.  Level 5
      Microsoft Edge 119 Microsoft Edge 119 Windows 10 Windows 10 cn河南省漯河市 联通

      插件图片地址是https://myweb.cn/wp-content/plugins,登陆后能显示正常,登陆前会把插件图片地址默认成我的我的图片CDNhttps://images.myweb.cn/wp-content/plugins,从而图标显示不了。 cry

  5.  Level 5
    Microsoft Edge 119 Microsoft Edge 119 Windows 10 Windows 10 cn河南省漯河市 联通

    刚发觉和我的主题有一点小case,如果我引用先前评论,本身主题会自动@某人,开启插件后前台会再次显示一遍@某人,等于显示2次。 laugh

  6. Level 3
    Microsoft Edge 124 Microsoft Edge 124 Windows 11 Windows 11 cn甘肃省兰州市 电信

    这个插件在我的文章评论的页面为什么会竖排显示,一行一个呀

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      添加自定义 css:
      .wp-useragent {
      display: flex;
      }

  7.  Level 5
    Google Chrome 124 Google Chrome 124 GNU/Linux GNU/Linux cn河南省漯河市 联通

    我的站兔兔系统评论时wp-useragent/wp-useragent-detect-os.php第668行出现了错误,但是用WIN系统则不会,PHP8.2版本。
    修复了一下,从657行一直到最后:
    // Pulled out of order to help ensure better detection for above platforms
    // 设置默认值
    $link = ”;
    $title = ”;
    $code = ”;
    // 检查Ubuntu
    if (preg_match(‘/Ubuntu/i’, $useragent))
    {
    $link = ‘http://www.ubuntu.com/’;
    $title = ‘Ubuntu’;
    if (preg_match(‘/Ubuntu[\/|\ ]([.0-9]+[.0-9a-zA-Z]+)/i’, $useragent, $regmatch))
    {
    $version = $regmatch[1];
    }

  8.  Level 5
    Google Chrome 124 Google Chrome 124 GNU/Linux GNU/Linux cn河南省漯河市 联通

    只能评论800字,接上一条。

    // 检查版本号是否小于 10
    if (isset($version) && $version < 10)
    {
    $code = 'ubuntu-1';
    }
    else
    {
    $code = 'ubuntu-2';
    }
    }
    // 检查Linux
    elseif (preg_match('/Linux/i', $useragent))
    {
    $link = 'http://www.linux.org/&#039;;
    $title = 'GNU/Linux';
    $code = 'linux';
    }
    // 检查J2ME/MIDP设备
    elseif (preg_match('/J2ME\/MIDP/i', $useragent))
    {
    $link = 'http://java.sun.com/javame/&#039;;
    $title = 'J2ME/MIDP Device';
    $code = 'java';
    }
    // 如果没有匹配到任何操作系统,返回空
    else
    {
    return '';
    }

    1. 公主 Queen 
      Google Chrome 124 Google Chrome 124 Android 10 Android 10 cn山东省青岛市 联通

      嗯嗯 没什么的 8.2会有些问题想改来着发现有点麻烦。我直接换成7.4了 没做8的兼容性修改

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注