VGOT Blog 新增了 Akismet 反垃圾评论服务插件

Pader2020年5月29日 发表于 网页与编程 akismet vgotblog spam

自从评论功能上线没多久,经常收到国外的大量垃圾评论,评论内容都如出一辙,基本上都是国外的各种与博客内容没有实质关系的内容加上在线服务销售网站链接,搞的我不得不进数据库删除这些评论(评论管理功能还没做好)。

上次看到这些垃圾评论后(删除前忘了截图,看不到了),就想着做一个反垃圾评论的功能。后来大概研究了一下,如果自己做反垃圾可能会比较复杂,目前相以现实的反垃圾服务大概有以下几种方式:

  1. 添加验证码或其它验证机制

    英文数字验证码
    滑动验证码

  2. 针对大部分都是英文评论垃圾的情况限制无中文评论发表

  3. 使用第三方反垃圾内容服务
    使用易盾、同盾等国内反垃圾服务
    使用 Wordpress 的 Akismet 服务

大概分析了一下,第1种方式比较简单,也比较粗暴,体验不佳,目前暂不考虑,但这个可以作为基本功能开发出来并做为选项。

第2种方式也比较简单粗暴,但实现也非常简单,这个我大概做了一点点,但觉得意义不大,暂时搁置了。

第3种也就是第三方服务,国内的大概了解了一下发现都是收费的,而且价格不菲,并且对于个人用户都不太友好,在个人博客界大名鼎鼎的 Akismet 貌似是剩下的一个不错的选择,当然这里并不是否认以上几种机制,后续可能都会以基础功能+插件的形式实现。

Akismet 是 Wordpress 官方提供的一种在线反垃圾评论的服务,它是通过把评论者发送的内容提交给 akismet 服务器,再通过获取服务器的返回结果判断是否是垃圾内容的,akismet 的服务会存储和记录垃圾评论的名单,当然也可能对内容的性质进行分析,总之识别垃圾评论的概率还是挺高的。

实现也并不复杂,akismet 首先要自己申请一个 API Key,其官网也有 PHP 的使用示例,我在其示例之上包装了一下制作成了 VGOT Blog 的插件,并且基于其参数增加了一些选项方便对不同的行为进行配置。

自己大概拿了那几条些垃圾的内容和自己正常输入的评论进行了测试对比一下,就这几条内容来说,识别是很准确的。

当然我的博客所有相关程序都是开源的,欢迎使用及提出建议。

VGOT Blog Akismet 插件源码:https://gitee.com/pader/vgotblog/tree/master/src/res/plugin/akismet

评论 共有 4 条评论

  • cathay 2020-5-29

    已阅

    • cathay cathay 2020-5-29

      很快呀

    • Pader 博主 cathay 2020-5-29

      上次被垃圾评论折腾后,我直接将记录的那堆垃圾评论的黑名单加到了Nginx的黑名单里,后来就一直很清静了,所以这个插件我还未启用。

    • Pader 博主 cathay 2020-5-29

      垃圾评论的IP加到了黑名单里。