安利一款Hansome主题专用的UserAgent插件

前两天Airs_Lau同学说来一篇关于评论UA的文章,本来一开始就打算咕咕咕的٩(ˊᗜˋ*)و,还不是因为我技术菜人又懒(我不要面子的嘛)。
刚好今天闲下来,就把自己魔改的UserAgent插件打包了下,代码水平有限,望多多指正。

食用指南

  1. 操作前请做好相应备份工作
  2. 此插件只适用于Handsome主题,未对其它主题优化!!!
  3. 请先将插件置于Typechoplugins目录下,且插件目录名应为UserAgent,注意大小写,否则将无法正常食用!!!
  4. 修改Handsome主题,component目录下的comments.php代码文件
    Handsome:9.2.1 版本大概第 82 行左右,
<span class="comment-author vcard">
    <b class="fn"><?php echo $author; ?></b>

添加代码<?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?> ,修改后代码如下:

<span class="comment-author vcard">
    <b class="fn"><?php echo $author; ?></b><?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?>

获取真实IP

Typecho开启CDN后,可能无法获取访客真实IP,只能取得CDN节点IP,为此可以在Typecho博客网站的根目录的config.inc.php插入下面的代码:

//** 防止CDN造成无法获取客户真实IP地址 */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
    $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = $list[0];
}

更新日志

2023-11-05

  • 说不准新增了部分BUG😂呢,记得反馈哦!
  • 修复 "启用 Windows 11 检测" 无法选中
  • 更新 纯真数据库 至2023年10月25日IP数据
  • 已测试 Handsome 9.2.1 可以放心食用

2023-4-15

  • 新增 Windows 11 系统识别(检测方式貌似很鸡肋,不支持非 HTTPS 站点)
  • 已测试 Handsome 9.0.2 可以放心食用

2023-4-12

  • 新增 内置离线IP库 ipv6wry,支持IPV6
  • 修复 Mac OS X 解析错误(感谢 吴蛋蛋
  • 优化 UA信息悬停效果
  • 已测试 Handsome 9.0.2 可以放心食用

2023-2-28

  • 新增 内置离线IP库 纯真数据库 ,仅支持IPV4
  • 新增 第三方API vore.top、mir6.com ,稳定性未知
  • 新增 第三方API功能可禁用
  • 修复 IPV6 查询时报错
  • 已测试 Handsome 9.0.2 可以放心食用

2023-2-26

  • 更新部分浏览器
  • 更新 Instant.page5.1.1 版本
  • 新增 IPinfo.io API,有请求速率限制
  • 优化 UA信息悬停效果

2020-3-5

  • 移除不稳定的淘宝API(IP)
  • 离线IP库查询位置信息去重,之前会出现 中国 天津 天津 (感谢 任宝硕 建议)
  • 更新离线IP库为 ipipfree.ipdb ,理论上兼容IPIP官方 全球 IPv4 地级市精度离线库(China:免费版,每周高级版,每日标准版,每日高级版,每日专业版,每日旗舰版)[然而,我也只用得起免费版,所以就不支持IPV6咯]

     此次更新离线IP库,部分文件来源GITHUB,为方便安装使用插件,已使用 composer 生成且引入 autoload.php 文件。
    (其实关于 composer,你也可以直接在Typecho根目录生成并引入,只是为了方便萌新们使用,才移入到UserAgent插件目录下。)

  • 此次更新仅是维护,也不是很建议非要更新,稳定使用才是最好的。

2020-1-18

  • 更新 Instant.page3.0.0 版本
  • 更新 微软 EDGE 移动端浏览器
  • 已测试 Handsome 6.0.0 可以放心食用,有 CSS 样式错误的,请先确认是否全新主题安装此插件,且无魔改痕迹。我看过很多人反馈的,都是之前用过别人的插件,样式修改后遗留的 CSS 代码冲突,切记!

我也在这里提前祝大家新年快乐、心想事成、万事如意、身体健康、财源广进、金玉满堂……

Tips:切记先禁用插件后操作,更新完毕请刷新浏览器缓存

文件下载

## Hash校验
Ver: 1.1.7
MD5: c829f4c14275ccfb778654ccdc86a793
SHA1: 6162fe052b87b21f2cf54bd1ec0cf73a1c25a3bc
CRC32: E9606864

效果预览

松鼠大大

若不是真的废物,谁又愿意混吃等死呢?

相关推荐

Typecho折腾小笔记

一、使Typecho支持emoji表情 !> Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认 ...

301 条评论

  1. ::funny:06:: 谢谢大佬分享 ::funny:06:: 还好我每天都逛你的博客

  2. ::funny:08:: 感谢大佬分享,已经换上了

  3. 这个样式真的很棒 ::funny:03::

    • @友人C ::aru:shy:: 😄欢迎欢迎,没有大佬的主题,也就没有这个插件效果啦

  4. 我来看看你 ::funny:01::

  5. 哔 请求转载卡 ::funny:01::

  6. 嘻嘻,已经用上惹
    做了点小修改,当鼠标移至该评论时才会出现UA信息qwq这样感觉更好一点~

  7. 喜欢上了,并且正在到处折腾 ::funny:02::

  8. 哎呦,不错呦

  9. 范明明

    才发现有更新了,另外你的网站为什么名称显示是别人的名称。还有邮箱和网址都是别人的信息。

  10. 感谢大佬分享,文章转载可否~

  11. ::funny:03:: 很好!

    • @Paul 大半夜还不睡觉哈,“熬夜伤身体,我建议你通宵” ::funny:06::

  12. Jockie

    按照食用指南只添加了代码,其他没有做修改。也按照了tips的提示修改,上传后刷新出现错误:
    syntax error, unexpected 'endif' (T_ENDIF), expecting end of file
    ParseError: syntax error, unexpected 'endif' (T_ENDIF), expecting end of file in /data/wwwroot/x.cn/usr/themes/handsome/component/comments.php:210
    Stack trace:
    #0 /data/wwwroot/x/usr/themes/handsome/post.php(83): Widget_Archive->need('component/comme...')
    #1 /data/wwwroot/x.cn/var/Widget/Archive.php(2022): require_once('/data/wwwroot/c...')
    #2 /data/wwwroot/x.cn/var/Typecho/Router.php(138): Widget_Archive->render()
    #3 /data/wwwroot/x.cn/index.php(23): Typecho_Router::dispatch()
    #4 {main}
    怎么破? ::funny:03::

    • @Jockie ::aru:discovertruth:: 你确定不是改错了东西

      • Jockie

        @松鼠大大 没有鸭,和原文件对比了,只修改了comment.php这个文件

        • @Jockie 标点符号或者其他的,,你检查一下,只添加 <?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?> 是木有问题的,仔细核对下代码呢。

          • Jockie

            @松鼠大大 我是直接复制粘贴的。其他地方都没有修改。还是不行呢

          • @Jockie emmm,好吧,看看comment.php 210行有啥错误,语法是否正确,,实在不行,,我也木得办法呢

          • Jockie

            @松鼠大大 这个文件到底也才207行。所以我很纳闷 ::funny:19::

          • @Jockie 🤣🤣🤣🤣 玄学,先恢复原来的文件再说吧,我母鸡这是啥问题,也没有其他同学报过这个问题

          • @Jockie 我刚改的 也有你的问题 把原始的comments.php恢复 直接复制 放到同一行就好了

  13. 好棒好棒哈哈😁୧(๑•̀⌄•́๑)૭

  14. 挺好的,赞一个!

  15. Bixan

    网站开启了CDN会导致获取的IP不准

    • @Bixan 嗯,百度一下typecho获取用户真实IP,这个问题就解决啦,(๑•̀ㅁ•́ฅ)

  16. 怎么我的提示“Class 'Get_Ip' not found”

    • @detechn 是完整安装吗?先查看下文件权限是否正常,PHP版本是否7.0以上(我的环境是PHP7.2/7.3,其他版本没有测试过)|´・ω・)ノ

  17. 访客

    66666

  18. 反馈一个BUG。

    在某些情况下插件会导致HTTP 502,报错信息为
    Undefined variable: ua_class in /usr/share/nginx/html/usr/plugins/UserAgent/Plugin.php on line 399

    将Plugin.php第396行的
    $plugin_opt->effect ? $ua_class='class="ua-hover"' : "" ;
    改为
    $ua_class = $plugin_opt->effect ? 'class="ua-hover"' : "" ;
    问题解决。

  19. ::twemoji:tongue:: 支持一下

  20. ::funny:01:: 终于弄好了,主题更新后都忘记搞这个了😂

    • @Qing 七夕节都这么忙碌喔,莫非和我一样是单身贵族🐶

回复 louo 取消回复

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