暮光博客

小心你讨厌的东西,因为你很可能被它塑造成某种形状

滚蛋吧垃圾评论

折腾 22 条评论

暮光博客此前一直在使用的是 Akismet 这款高效的 SPAM 拦截插件,这也就是博客为什么发布评论速度会慢一点的原因,因为系统需要将读者的评论先发送到 Akismet 的国外服务器上做校验。

每天到我博客发布垃圾评论的 SPAM 机器人特别多(见图1),但是大部分都会被 Akismet 成功拦截。有时候我会在垃圾箱里翻到几条「看似正常」的评论,但点进其个人主页,基本都是推广营销类的网站,被拦截也就不奇怪了。

WX20180815-112735.png

(图1)

但每天总会有那么几条漏网之鱼,是很明显的 SPAM,不知道为何 Akismet 没有检测出来。由于博客设置了评论邮件提醒,垃圾评论同时变成了垃圾邮件(见图2),对我产生了不少困扰。

WX20180815-113012.png

(图2)

今天实在受不了,写个小插件额外拦截了一下 Akismet 的漏网之鱼,提取了三个特征:

  • IP归属地非中国
  • 评论作者名称不包含中文
  • 评论内容不包含中文

当评论同时满足上述条件时,返回错误信息(见图3)。

WX20180815-112836.png

(图3)

这样,与 Akismet 相辅相成,应该就能拦截掉 99% 的 SPAM 了。但存在误杀的可能性,我在返回的错误信息中已经做了提示,相信有心评论的读者也能够斟酌修改。

升级 macOS 的 bash
评论区
选择表情选择表情
  1. DK

    博主可以参考我的博客,留言我自己写了一个验证,需要填写DK两个字母才能发,虽然对机器来说绕过非常简单,但是垃圾评论背后的人不会为区区一个博客专门建立规则,所以这对真人很友好,而又几乎挡住了所有垃圾评论

    回复
    1. @DK

      感谢提供思路。后来我也修改了 typecho 的代码,提交留言需要提供一段 token,几乎防住 95% 的评论机器人了,然后配合一些规则,博客已经两三年没有过垃圾评论了。

      回复
  2. 第一借錢網擁有全台最多的借錢資訊

    https://168cash.com.tw/

    回复
  3. 建议博主开启回答计算题才能回复,网上有现成的代码 icon_redface.gif

    回复
    1. @ahxx

      曾经考虑过,但是博客开启了页面缓存,计算题会被缓存掉导致失效,而且计算题一定程度上会造成留言者的不方便。

      回复
      1. @大袋鼠

        我也曾经为此困扰,也设置了各种拦截。由于服务器是阿里云,直接设置了注册才能评论…… icon_mrgreen.gif

        回复
  4. 哈哈,多好,我的BLOG都没人评论

    回复
  5. 国外ip解析到127.0.0.1,算不算很绝

    回复
  6. 优秀。不过我这边Akismet就够用了。再说你写的插件呢

    回复
  7. 秀啊 icon_razz.gif

    回复
  8. 我是用滑块

    回复
  9. 发表评论前,请滑动滚动条解锁。。。 icon_idea.gif

    回复
  10. Akismet 一直用,感觉挺好用的。从建博开始就一直用!

    回复
  11. Jim

    I like this post

    回复
  12. 垃圾评论是比较痛苦,严重怀疑这些人做的价值,为了SEO堆外链~?

    回复
    1. @拾风

      大部分都是为了堆外链,小部分是为了吸引一点可怜的流量。

      回复
  13. 我的还好,暂时没有被这些垃圾评论盯上..

    回复
    1. @旧日的足迹

      那真是幸运。

      回复
  14. 根本用不着Akismet https://diygod.me/2770/

    回复
    1. @DIYgod

      可我是 typecho icon_redface.gif

      回复
  15. 歪果仁喜欢用机器人,这个办法可以栏大多数。
    国产人工的防不胜防。

    回复
    1. @大致

      对的,不过国产人工来我博客留言的算少数,而且都被我移除了个人链接。

      回复