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://nai.dog/2023/08/12846
* 短链接:https://oba.by/?p=12846
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

发表回复

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