更新日志: = 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
下载地址:
83 comments
还做公共接口了
是哒~~~
大佬的动手能力太强了!赞一个。
这些上古时期的代码改起来太费劲了,主要是姐姐也不是专业的php程序媛。
我这边图标无法加载,是屏蔽了国外的访问么?手机端好像也是无法加载(不开代理)。
并没有,最近图片总是有各种奇怪的问题。就让人很抑郁。你用的手机流量吗?
手机流量有可能出不了图片,iphone都有一定概率打不开网站,哈哈哈。
联系cdn客服了,但是并没有什么卵用~~
刚看明白,是图标无法显示。嘿嘿,这个是我自己的ip转国家的服务挂了,哈哈哈。目前提供的公网的服务是可用的。
大佬,用的是哪家的CDN呀?
之前是又拍(主站)+百度云加速(图片),现在图片换回家里的服务器之后图片换成了 无畏云,主站用的云盾。这几天表现比较奇怪,手机流量各种打不开网站,无法加载之类的。
贵站证书挂了~~
昨天我用了无畏云CDN,用了一天,晚上切换回来还是用的云盾CDN,证书就这样了,我昨天清空了缓存,就正常了,你可以清除缓存再试试,看看还会不会出现证书问题呀,我这边测试是么得问题的
强刷貌似ok了。应该是cdn缓存的问题。
嗯嗯,成都,广州,浙江金华测试都没问题,应该就是节点缓存问题,现在百度云加速用不了了,证书设置都不见了,又拍云1个月免费15GB,不太够用,估计几天就消耗完了,
百度的那个破玩意儿是外包的,可以通过f12把菜单再找回来。但是他们现在弄成这个样子纯粹就是恶心人。https://oba.by/?p=12726 我再这篇文章写了,反正是挺烂的,也不想和他们折腾了。
又拍的那个的确太少了。
无畏云节点那是非常多的,以至于官方都给我提供不了加速节点的ip表,然后昨天节点请求被防火墙大量拦截了,没加白名单,再就是无畏云不防CC这些安全设置,主站还是换回云盾CDN,给其他站使用
没有白名单的路过,哈哈哈。现在服务器在家里,没有防火墙,只是映射了几个端口出来。
无畏的防护能力确实欠缺一些。
评论旁边的头像显示不了,应该要修复一下了
我这里是正常啊,并没有人提过这个问题。你那里不显示吗?
又出新版了,还带亲密度,果然是你啊,这个脑回路不一样,下载看看啥样。
亲密度这个没加到插件里面,嘻嘻。怕有人不喜欢啊~~~
如果方便分享,可以给我个亲密度的版本,这个我太爱了,适合我这种比较浪漫的人,我要看看我最亲密的兄弟姐妹们。
代码没有写到插件内,相关的代码已经邮件发你啦~~
收到,我尝试安装下。谢谢奶狗同学的代码。
哼,才不是奶狗,叫女王!
感谢女王大人,撅腚跪谢。
我发现我用完,整个图片堆砌成竖着的了。
我刚试了下,你的网站打不开了内页?
可以访问了,不清楚啥问题,我更新了下后台的缓存可以了,地址的图片堆砌在一起了。
你的style.css 定义的图片都是block:
img {
display: block;
height: auto;
max-width: 100%;
}
把display: block;去掉就ok了,或者重新定一下插件的图片样式。
修改下样式~~
你把网站改挂啦?502了
你的style.css 定义的图片都是block:
img {
display: block;
height: auto;
max-width: 100%;
}
把display: block;去掉就ok了,或者重新定一下插件的图片样式。
不知道哪里来了一堆机器人在攻击wp-cron.php,我在后台设置呢,把cpu干到100了,好几个月了忽然又来这么一下子。
你改啥了,把评论改挂了
可以了,被攻击一下午,换的cloudflare 已经正常了,太恶心了这波攻击,浪费我一下午时间。评论可能是和哪个插件冲突,我重置插件正常啦。
评论还是有问题,报错依旧。
无聊的沙雕太多了,我的现在貌似还被江苏反诈劫持着。就tm离谱,申请解封,短信通知解封了。
但实际没解封,太不要脸了。
感谢大佬辛勤付出!!!
来升级啦 ,这图片真得劲
为什么我下载后显示是12.02.01版本的
可能是忘了改版本号了,嘻嘻。大意了。看压缩包的版本是对的就ok了。
如果还是在意的话重新下载吧,我更新下载连接了。现在下载的压缩包带repack。
太需要了,我的一直显示不出来国旗图标。
试试这个~~
我的问题,小火箭里开启了CDN,关闭登录前就可以显示了。
请问大神,这个显示地址、系统和浏览器的文字字体大小,请问知道从哪里可以修改一下?我想改小一号14px。
直接修改wp的样式表添加自定义样式。修改wp-useragent 的样式就行,不然的话就得修改插件的wp-useragent.php
插件图片地址是https://myweb.cn/wp-content/plugins,登陆后能显示正常,登陆前会把插件图片地址默认成我的我的图片CDNhttps://images.myweb.cn/wp-content/plugins,从而图标显示不了。
刚发觉和我的主题有一点小case,如果我引用先前评论,本身主题会自动@某人,开启插件后前台会再次显示一遍@某人,等于显示2次。
这种小bug其实还ok。应该是主题的问题
很有用哟
上次自己改崩了 来试试你这个 哈哈
我来看看
我来用用这个插件
这个插件在我的文章评论的页面为什么会竖排显示,一行一个呀
添加自定义 css:
.wp-useragent {
display: flex;
}
插件最近没更新,你的 php 版本是多少啊,我看报错了:
替换下/wp-content/plugins/wp-useragent/show-useragent/ip2c-text.php 这个文件:
https://www.123pan.com/s/ucY7Vv-QUTAA.html
大佬,我想用插件
好久没更新了,试试吧
换了电脑是不是就没法看到下载链接了
嗯嗯,需要使用 cookie 验证
为大佬点赞!!
评论失败了吗?
评论被拦截了,放出来啦
感谢大佬!已经可见了!~
我的站兔兔系统评论时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];
}
只能评论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/';
$title = 'GNU/Linux';
$code = 'linux';
}
// 检查J2ME/MIDP设备
elseif (preg_match('/J2ME\/MIDP/i', $useragent))
{
$link = 'http://java.sun.com/javame/';
$title = 'J2ME/MIDP Device';
$code = 'java';
}
// 如果没有匹配到任何操作系统,返回空
else
{
return '';
}
帮我删除掉这几条留言吧,发现4条也不够用。
嗯嗯 没什么的 8.2会有些问题想改来着发现有点麻烦。我直接换成7.4了 没做8的兼容性修改
我来看看
感激,插件棒棒哒
666
为大佬点赞!!
感谢大佬
啊 刚才没勾选,没有获取到下载地址
感觉很实用,下来用用感谢老大
额,好像回复了看不见
勾线保存用户信息 刷新
前几天找网站延迟删除掉了,还得再安装一遍,离不了。
佬,可以分享下插件吗?
回复了就能看到下载地址了~~