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

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

食用指南

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

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

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

获取真实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];
}

更新日志

2020-3-5

  • 说不准新增了部分BUG😂呢,记得反馈哦!
  • 移除不稳定的淘宝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.1
MD5: 5981A7EBD7464012A72BDC05191B8C47
SHA1: 51BEB80AD6FF9FBD9F949A421ADC410C87D18B3A
CRC32: 4960F621

##------##

Ver: 1.1.0
MD5: 871706942298EB0EED34D2DBBC297486
SHA1: 963515AFB4DB710FC764DBD91B0C1FCABCF326BC
CRC32: 15A027F0

效果预览

松鼠大大

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

217 条评论

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

    • 刚准备邮件回复你

    • @松鼠大大 哈哈哈 ::funny:05:: 每日一逛

    • @Airs_Lau ::funny:09:: 欢迎欢迎,有问题记得反馈哦,虽然不保证100%修BUG,毕竟咱技术就那水平,哈哈,祝你玩得开心!

    • @松鼠大大 好的,大佬,我分享一下你的这个插件哦, ::funny:01:: 请求授权

    • @Airs_Lau 嗯嗯,可以φ( ̄∇ ̄o)放心去玩吧,

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

    • 嗯嗯,晚好,祝你使用愉快 ::funny:09::

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

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

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

    • ::funny:05:: 欢迎来访,喵喵喵~

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

    • o(*////▽////*)q 嗯嗯,注明就行 ::funny:57::

    • @松鼠大大 木的问题 ::funny:32::

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

    • ::twemoji:ok:: 可以的哦,很细节(◦˙▽˙◦)

    • 嘿嘿,你要的效果我现在加上去了,可以更新试试 ::funny:09::

    • @松鼠大大 噢噢,嘻嘻

    • @松鼠大大 大佬,我想参考it之家,机型放在名字后面,地址放在时间前面

    • @louo (๑•̀ㅁ•́ฅ)咕咕~咕咕咕,建议已收到,排序什么的,其实你也可以改一下代码的

    • @louo php小白,不过咨询群里的大佬后总算搞掂

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

    • ::funny:01:: 嗯嗯,折腾不止生命不息。

  8. 哎呦,不错呦

  9. 范明明

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

    • |´・ω・)ノ应该缓存插件的锅,之前也有小伙伴说起过这件事情

    • @松鼠大大 现在正常了。上面那条是我评论的。

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

    • (๑•̀ㅁ•́ฅ)嗯,可以,注明就行。

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

    • 大半夜还不睡觉哈,“熬夜伤身体,我建议你通宵” ::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::

    • ::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不准

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

    • Bixan

      @松鼠大大 解决了 谢谢啦!ヾ(≧∇≦*)ゝ

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

    • 是完整安装吗?先查看下文件权限是否正常,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"' : "" ;
    问题解决。

    • Σ(゚д゚;) 怎么被`MathJax`解析了,不过大概就是这个意思,应该懂得~

    • 夜猫子哦,早安,
      反馈已记录,文章开启了`MathJax`,看样子评论区也受影响了(/ω\)

    • ::aru:flower:: 感谢建议,已修复

    • @松鼠大大 ::aru:shy2:: OK,已更新。

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

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

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

发表评论

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

相关推荐

Typecho折腾小笔记

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

微信扫一扫,分享到朋友圈

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