Comment Spam Protection
用本地规则拦截 EmDash 中的垃圾评论:屏蔽词、链接、语言、重复和频率限制,并记录判定原因。
插件
Comment Spam Protection
用本地规则拦截 EmDash 中的垃圾评论:屏蔽词、链接、语言、重复和频率限制,并记录判定原因。
描述
Comment Spam Protection 会按你设置的规则检查 EmDash 站点上的每一条新评论,并告诉你每条评论为何被批准、搁置待审或标记为垃圾评论。
所有处理都在你自己的站点上完成。无需外部服务、账号或 API 密钥。
免费版
- 屏蔽词和短语:不区分大小写,是否带重音符号均可匹配。
- 屏蔽模式:用于词表无法拦截的文本,例如任意间距的 “free money”。
- 链接数量限制:链接过多的评论会被搁置。
- 语言检查:主要使用站点未采用的文字书写的评论会被搁置。
- 重复评论以及同一人的评论过多。
- 屏蔽和始终批准的电子邮箱与域名。
- 屏蔽 IP 地址,可在评论上一键添加。
- 受信任的评论者:已登录的会员,或已有评论获批准的人。
- 对每条规则,可选择处理方式:垃圾评论、搁置待审或批准。
- 评论活动:每个判定及其原因、筛选器和仪表板小组件。
- 试评一条评论:在访客之前先测试你的规则。
- 如果你愿意,可直接拒绝明显的垃圾评论。
开箱即用:内置常见垃圾短语、两个链接的上限、基于站点语言的语言检查、重复和频率限制,其余情况则交由你自己的 EmDash 评论设置处理。
已经在用其他审核插件?Comment Spam Protection 会把它的结果和原因附加到每条评论上供该插件使用,同时记录下来,事后还可以移动垃圾评论。
专业版
- 评分模式:命中的规则会累加分数,阈值由你设定。
- 每个集合使用不同规则。
- 重新检查旧评论,并可先做试运行。
- 名单的 CSV 导入和导出,以及将活动日志导出为 CSV。
- 统计:每周评论数量,以及每条规则拦截了什么。
- 向管理员发送每周电子邮件。
专业版是同一插件的许可证密钥,每年 29 美元起:获取专业版。
作者:Peachfin Themes。
安装
要求
- EmDash 1.0 或更高版本,并带有插件沙箱运行器。在 Cloudflare 上:需要 Workers Paid 套餐和 Worker Loader 绑定。已在 EmDash 1.2.0 上测试。
- 至少为一个集合开启评论:在 Content Types 下打开该集合,并开启 Enable comments。
安装步骤
- 从插件注册表安装 Comment Spam Protection。
- 查看权限并确认。插件会请求:
- 读取用户(EmDash 的评论钩子要求此权限),
- 审核评论,
- 发送电子邮件(专业版的每周邮件),
- 读取集合列表。
首次使用
- 打开 Comment rules。合理的默认设置已经开启。
- 添加你想屏蔽或始终批准的词、模式或电子邮箱。
- 打开 Try a comment,粘贴一条示例评论,看看会发生什么。
- 关注 Comment activity。每条新评论都会显示做出判定的规则及原因。用某一行的 Actions 菜单可以屏蔽该 IP 地址、电子邮箱或域名。
- 在 Settings 中,选择垃圾评论是保留在 EmDash 的垃圾评论列表中(默认)还是直接拒绝,以及活动日志保留多久。
其他审核插件
EmDash 只允许一个插件设置新评论的状态。如果已有其他插件在做这件事,Comment Spam Protection 仍会检查每条评论并记录结果。Settings 会显示由哪个插件决定,以及如何更改。
专业版
在 https://peachfinthemes.com/comment-spam-protection/ 购买密钥(1 个站点每年 29 美元,5 个站点 59 美元,无限站点 99 美元),然后粘贴到 Settings → License。密钥在你的站点上校验,无需联系任何人。它适用于授权的域名及其子域名,并始终适用于 localhost 和 *.test 地址。
常见问题
它会把评论发送到别处吗?
不会。所有检查都在你的站点上运行,插件不发出任何网络请求。许可证密钥也是在你的站点上校验的。
垃圾评论会怎样处理?
默认情况下,它们以“垃圾评论”状态保存,你可以在 EmDash 的评论界面中查看并恢复。在 Settings 中,你也可以改为直接拒绝明显的垃圾评论:访客会看到错误提示,且不会保存任何内容。被拒绝的评论仍会列在 Comment activity 中。
为什么一条评论被搁置了?
打开 Comment activity。每一行都会显示做出判定的规则及原因,例如“3 个链接(上限 2)”或“屏蔽词:casino”。
我可以屏蔽某个 IP 地址吗?
可以:在 Comment activity 中,打开某条评论的 Actions 菜单,选择 Block this IP address。EmDash 从不向插件展示 IP 地址本身,只提供一个加扰后的代码,所以无法手动输入地址。
我的老读者会被搁置吗?
已登录的会员会被批准,除非命中了屏蔽的电子邮箱、词或模式。你也可以信任已有评论获批准的人。
什么是模式?
一种捕获词表无法拦截的文本的方式。例如,\bfree\s+money\b 可以匹配任意数量空格的 “free money”。可能拖慢站点的模式在保存时会被拒绝。
我已经在用其他审核插件。
此时 Comment Spam Protection 会把它的结果和原因附加到每条评论上供该插件使用,并加以记录。它也可以在事后移动垃圾评论。
专业版多少钱?
1 个站点每年 29 美元,5 个站点 59 美元,无限站点 99 美元。购买地址:https://peachfinthemes.com/comment-spam-protection/。专业版增加评分模式、按集合设置规则、重新检查旧评论、CSV 导入和导出、统计以及每周电子邮件。https://peachfinthemes.com/comment-spam-protection/
许可证过期后会怎样?
你已保存的专业版设置会继续生效。如需修改,请先续订。
安全
报告问题
请将安全问题私下报告至 [email protected]。请不要先提交公开的 issue。
权限
- 读取用户: EmDash 只对拥有此权限的插件运行评论钩子,因为评论事件包含评论者的电子邮箱。同时也用于查找管理员的地址,以发送专业版每周邮件。
- 审核评论: 将评论移入垃圾评论(专业版的重新检查,以及可选的“事后移动评论”),并统计等待审核的评论。包含读取评论。
- 发送电子邮件: 专业版的每周邮件,通过站点自己的电子邮件服务发送。
- 读取架构: 列出集合,用于按集合设置规则。
插件未声明任何允许访问的主机,因此无法发出网络请求。
访问控制
管理页面会在服务器端检查调用者的 EmDash 角色。编辑者可以查看 Comment activity 和 Statistics,并可从评论中执行屏蔽。只有管理员可以更改规则、设置、工具和许可证。
公开路由
只有一个路由是公开的:export,即专业版的 CSV 下载。通过链接访问时无法携带 EmDash 的管理请求头,因此每个链接都使用保存在插件配置中的随机密钥以 HMAC-SHA-256 签名。链接 10 分钟后过期。下载还需要有效的专业版许可证。
模式
模式在保存时就会被检查,因此不会出现某个模式拖住评论检查的情况。
存储的数据
活动日志会保存评论者的姓名、电子邮箱、一小段摘录、IP 地址的加扰代码(绝不保存地址本身),以及结果和原因,默认保留 90 天(可设为 30 天到一年)。重复和频率计数器只存储哈希值,并会自行过期。每周统计只是计数。除你开启的每周邮件外,不会向任何地方发送任何内容。
许可证密钥
密钥由 Peachfin Themes 商店签发,使用 Ed25519 签名并在离线状态下验证。密钥中包含订单 ID、授权域名和到期日期,不含任何个人数据。
更新日志
1.0.1
- 已在 EmDash 1.2.0 上测试。
- 设置中关于选择评论审核者的文字不再提及 EmDash 1.0。
1.0.0
首次发布。
- 规则:屏蔽词、屏蔽模式、链接数量限制、语言检查、重复、评论过多、屏蔽和始终批准的电子邮箱与域名、屏蔽 IP 地址、受信任的评论者。
- 对每条规则,可选择垃圾评论、搁置待审或批准。没有命中任何规则时,由你的 EmDash 评论设置决定。
- 带原因的评论活动、筛选器和一键屏蔽;仪表板小组件;试评一条评论。
- 可选择直接拒绝明显的垃圾评论而不保存。
- 可与其他审核插件并存:附加它的结果、记录下来,并可在事后移动垃圾评论。
- 专业版:评分模式、按集合设置规则、带试运行的旧评论重新检查、CSV 导入和导出、统计、每周电子邮件。