轻量级的 Typecho 垃圾评论拦截插件

RONGYAN
2026-06-16 / 0 评论 / 2 阅读 / 耗时: 21 ms /

这是一个轻量级的 Typecho 插件,通过邮箱、域名、关键词黑名单自动拦截垃圾评论。
Typecho 垃圾评论插件

开发此插件的由来

  写这个插件是有原因的,连续两天,一直有个鸟人来我博客发留言(最新两篇文章),他的主要目的其实是发他的算命网站链接。我后台删了他的留言他第二天又来发了。首先不能用禁IP的方式,因为我发现他IP是广西联通(一般都是家庭宽带,这个IP只是他临时的,封了也没用,而且还可能会造成整个广西联通的网都来不了)。一般他会发两条留言,一篇文章一条,留的QQ邮箱都是一样5652xx5524@qq.com,但是在两篇文章中的留言名字改了,配套的网址也不一样,一个叫做免费算命,留的网址是https://www.resoxxxg.cn/,一个叫做姓名测试打分,留的网址是https://www.tiatixxxxxiao.com/。于是针对这个垃圾玩艺,这套插件应运而生。

功能

  • 环境要求 — 在 Typecho 1.3 上测试通过,其他版本请自行测试
  • 邮箱拦截 — 支持部分匹配,如 qq.com 可拦截所有 QQ 邮箱
  • 域名拦截 — 拦截评论者填写的网站域名
  • 关键词拦截 — 拦截昵称或正文中的关键词
  • 两种拦截方式

    • 直接拦截 — 匹配规则时拒绝评论,前台提示错误
    • 标记为垃圾 — 匹配规则时标记为 spam 状态,前台不报错也不显示,后台可审查

安装

  1. SpamBlocker 文件夹上传至 /usr/plugins/
  2. 登录 Typecho 后台,进入 控制台 → 插件
  3. 找到 SpamBlocker,点击 启用
  4. 点击 设置,填写拦截规则

使用方法

在插件设置页面填入需要拦截的内容,每行一条:

# 拦截邮箱(部分匹配)
spammer@example.com
qq.com

# 拦截域名(部分匹配)
spam-site.cn

# 拦截关键词
免费算命

选择拦截方式后保存即可生效。

数据存储

配置存储在 typecho_options 表中,name = 'plugin:SpamBlocker',值为序列化数组。无需手动建表或改表结构。

拦截原理

通过 Typecho_Plugin::factory('Widget_Feedback')->comment 钩子,在评论提交前对邮箱、网址、昵称、正文进行匹配检查。

开源协议

MIT
已在github上开源, Github开源地址

你认为这篇文章怎么样?
  • 0
    点赞
  • 0
  • 0
  • 0
    滑稽
  • 0
    尴尬
  • 0
    睡觉
  • 打赏
    打赏

评论 (0)

取消
头像
邮箱:
I P:
互动: