?️ SmartSpam

? 插件介绍
SmartSpam 是一款功能强大的 Typecho 评论过滤插件,能有效拦截垃圾评论和机器人评论,保持您网站评论区的整洁与安全。本插件由乐乐主题创作室开发,为博客站长提供了多维度的评论过滤机制,让您可以根据自身需求灵活配置过滤规则。
? 核心理念:让机器人彻底远离您的博客,为读者提供一个纯净的交流空间!
?️ 设计架构
SmartSpam 插件采用模块化设计,主要由以下几个部分组成:
钩子注册模块:通过 Typecho 插件钩子机制,拦截评论提交的各个环节
- 常规评论提交过滤 (
Widget_Feedback->comment) - XML-RPC 评论过滤 (
Widget_XmlRpc->comment) - 评论预览过滤 (
Widget_Feedback->filterComment)
- 常规评论提交过滤 (
- 配置面板模块:提供丰富的过滤选项和参数设置界面
过滤逻辑模块:实现多维度评论过滤逻辑,包含:
- 用户身份检查
- 内容特征分析
- 词汇匹配过滤
- IP、邮箱、网址验证
- 工具函数模块:提供字符串处理、IP匹配等辅助功能
插件工作流程图

处理流程示例

? 功能亮点
全方位评论过滤
- ✅ 游客评论控制:可设置是否允许未登录用户评论
- ✅ IP 过滤:支持精确 IP 和 IP 段(通配符)过滤
- ✅ 邮箱过滤:阻止特定邮箱或邮箱域名
- ✅ 网址过滤:阻止包含特定网址关键词的评论
✅ 昵称过滤:
- 关键词过滤
- 长度限制(最短/最长)
- 防止使用日文昵称
- 防止使用网址作为昵称
智能内容分析
- ✅ 文章标题检测:阻止评论内容包含文章标题(防复制粘贴)
✅ 语言检测:
- 日文内容过滤
- 非中文内容过滤(要求至少包含一个中文字符)
- ✅ 长度控制:评论内容长度限制(最短/最长字符数)
✅ 词汇过滤:
- 禁止词汇过滤(彻底禁止)
- 敏感词汇检测(可设置不同处理方式)
灵活处理机制
✅ 多种处理方式:
- 无动作:通过检测
- 标记为待审核:需要管理员审核
- 标记为垃圾:自动归入垃圾评论
- 评论失败:直接拒绝提交,并显示错误信息
? 插件优势
- ? 轻量级:代码精简,不影响网站性能
- ? 高度可配置:每种过滤规则均可单独配置处理方式
- ? 智能识别:多维度特征分析,准确识别垃圾评论
- ?️ 易于扩展:模块化设计,便于后续功能扩展
- ? 兼容性好:支持 Typecho 1.2+ 版本
? 使用教程
安装步骤
- 下载 SmartSpam 插件压缩包
- 解压后将文件夹重命名为
SmartSpam(区分大小写) - 上传至网站的
/usr/plugins/目录 - 登录管理后台,进入"控制台 > 插件"
- 找到 SmartSpam 插件,点击"启用"
配置选项概览

配置说明
启用插件后,点击"设置"进入插件配置页面,可以根据需要配置以下选项:
? 用户身份控制
- 游客评论:设置未登录用户评论的处理方式
? IP 控制
- 屏蔽IP操作:设置命中 IP 黑名单的处理方式
- 屏蔽IP:填写需要屏蔽的 IP,每行一个,支持通配符(如
192.168.*.*)
✉️ 邮箱控制
- 屏蔽邮箱操作:设置命中邮箱黑名单的处理方式
- 邮箱关键词:填写需要屏蔽的邮箱关键词,每行一个
? 网址控制
- 屏蔽网址操作:设置命中网址黑名单的处理方式
- 网址关键词:填写需要屏蔽的网址关键词,每行一个
? 昵称控制
- 屏蔽昵称关键词操作:设置命中昵称黑名单的处理方式
- 屏蔽昵称关键词:填写需要屏蔽的昵称关键词,每行一个
- 昵称长度限制:设置允许的昵称最短和最长字符数
- 昵称日文操作:设置对包含日文的昵称的处理方式
- 昵称网址操作:设置对使用网址作为昵称的处理方式
? 内容控制
- 内容含有文章标题:设置对包含文章标题的评论的处理方式
- 日文评论操作:设置对包含日文的评论的处理方式
- 非中文评论操作:设置对不包含中文的评论的处理方式
- 评论字符长度操作:设置评论长度限制及不符合要求的处理方式
- 评论最短/最长字符数:设置允许的评论最短和最长字符数
? 词汇过滤
- 禁止词汇操作:设置对包含禁止词汇的评论的处理方式
- 禁止词汇:填写禁止词汇,每行一个
- 敏感词汇操作:设置对包含敏感词汇的评论的处理方式
- 敏感词汇:填写敏感词汇,每行一个
评论处理流程
以下是一个评论从提交到处理的完整流程图:
sequenceDiagram
participant 访客
participant SmartSpam
participant Typecho
访客->>Typecho: 提交评论
Typecho->>SmartSpam: 评论过滤钩子
SmartSpam->>SmartSpam: 检查用户身份
SmartSpam->>SmartSpam: 检查IP黑名单
SmartSpam->>SmartSpam: 检查邮箱黑名单
SmartSpam->>SmartSpam: 检查网址黑名单
SmartSpam->>SmartSpam: 检查昵称规则
SmartSpam->>SmartSpam: 检查内容规则
SmartSpam->>SmartSpam: 检查词汇规则
alt 评论通过
SmartSpam->>Typecho: 允许发布
Typecho->>访客: 评论成功
else 标记待审核
SmartSpam->>Typecho: 标记为待审核
Typecho->>访客: 评论需审核
else 标记垃圾
SmartSpam->>Typecho: 标记为垃圾
Typecho->>访客: 评论成功(实际被标记为垃圾)
else 评论失败
SmartSpam->>Typecho: 抛出异常
Typecho->>访客: 显示错误信息
end? 使用建议
- 循序渐进配置:建议初次使用时先启用基本功能,观察效果后再逐步开启其他过滤规则
- 定期更新黑名单:根据垃圾评论的新特征,定期更新关键词列表
合理设置处理方式:
- 对于明显的垃圾评论(如含有禁止词汇),可设置"评论失败"
- 对于疑似垃圾评论(如含有敏感词汇),可设置"标记为待审核"
- 保留日志记录:建议配合其他日志插件,记录被过滤的评论,以便分析调整过滤策略
? 注意事项
- 过滤规则设置过严可能会误伤正常评论
- 多个过滤规则之间是"或"的关系,命中任一规则将执行相应操作
- 过滤规则按代码中的顺序依次检查,一旦命中某规则将不再检查后续规则
- 若修改配置后过滤效果不符合预期,请尝试清除浏览器缓存
? 版本信息
当前版本:2.8.0
?? 关于作者
本插件由乐乐主题创作室开发,专注于Typecho主题定制、插件开发、网站优化与SEO服务。
3 条评论