网站评论区垃圾留言过滤,关键词拦截配置

网站评论区垃圾留言过滤的核心思路是“先拦机器,再防人工”。
对于零基础站长,最直接的方式是在建站程序后台配置关键词黑名单,配合 Nginx 层频率限制,就能过滤掉大部分广告和恶意灌水。
本文以宝塔面板和 WordPress 为例,步骤同样适用于其他 CMS,最终你能独立完成关键词拦截配置并验证效果。

动手前先确认两件事

开始配置前,先确认你的网站环境。
如果使用宝塔面板,登录后台后进入“网站”列表,找到目标站点,点击“设置”。
如果不用面板,则需要通过 SSH 连接服务器,后续命令默认在 root 权限下执行。

另一个要确认的是评论提交方式。
部分网站使用第三方评论系统(如 Disqus),关键词拦截需要在第三方后台操作,本文方法不适用。
本文针对的是自建评论系统。

后台关键词黑名单配置

这是最基础的过滤层,直接在 CMS 后台完成,不需要写代码。

以 WordPress 为例,进入“设置” -> “讨论”,找到“评论审核”和“评论黑名单”区域。
在“评论黑名单”文本框中,每行填入一个需要拦截的关键词。
例如:

viagra
casino
http://
www.
加微信
代开发票

每一行代表一个独立规则,保存后,包含这些词的评论会自动进入待审核状态或直接被标记为垃圾。
建议初期把“评论必须经人工批准”也勾选上,避免误杀正常留言。

如果你用的是 Typecho 或 Z-Blog,通常在“设置” -> “评论”中能找到类似的黑名单输入框,操作逻辑一致。

关键判断: 后台黑名单适合拦截固定词,但无法应对变形词(如“微*信”)。
遇到这种情况,需要配合下一层的正则匹配。

用正则表达式拦截变形关键词

大多数 CMS 的黑名单支持正则表达式,但需要你手动开启或使用特定语法。
在 WordPress 中,黑名单输入框实际上支持正则,但需要写成 /pattern/ 格式。
例如要拦截“加微信”中间插入任意字符的情况:

/加.{0,3}微.{0,3}信/

这段正则表示“加”和“微”之间允许出现0到3个任意字符,“微”和“信”之间同理。
保存后,包含“加微信”、“加V微信”、“加--微--信”的评论都会被拦截。

注意: 正则写得过于宽泛容易误伤正常评论,建议先在测试评论中验证,再正式启用。

Nginx 层频率限制与 IP 黑名单

如果垃圾评论来自同一个 IP 或短时间内大量提交,后台拦截会消耗服务器资源。
此时可以在 Nginx 层做频率限制。

在宝塔面板中,进入“网站” -> “设置” -> “配置文件”,在 server 块内添加以下配置:

# 定义限制区域,按 IP 限制请求频率
limit_req_zone $binary_remote_addr zone=comment:10m rate=5r/m;

location = /wp-comments-post.php {
    limit_req zone=comment burst=2 nodelay;
    # 其他原有配置保留
}

这段配置表示:每个 IP 每分钟最多提交5次评论,突发允许2次。
超过限制的请求会返回 503 错误。
保存后重载 Nginx:

nginx -t && nginx -s reload

如果发现某个 IP 持续恶意提交,可以直接在宝塔“安全” -> “IP 黑名单”中添加该 IP,或在 Nginx 配置中使用 deny 1.2.3.4; 拒绝访问。

可独立摘录的结论: Nginx 频率限制是防御批量灌水的有效手段,但 rate 值需要根据网站实际评论量调整,设置过严可能影响正常用户。

验证过滤效果与排查误拦

配置完成后,不要假设一定生效。
用无痕窗口打开文章页,尝试提交一条包含黑名单关键词的评论,观察是否被拦截或进入待审核。
如果仍能直接显示,检查:

  • 后台黑名单是否保存成功,关键词是否换行分隔。
  • 正则表达式是否被 CMS 正确解析,可临时换成纯文本词测试。
  • Nginx 配置是否重载,nginx -t 是否报错。

如果正常评论被误拦,优先检查正则是否过于宽泛,或 Nginx 频率限制是否过低。
建议在 limit_req 后加 burst 参数缓冲,并观察几天日志再调整。

另一个判断条件: 如果垃圾评论来自多个 IP 且内容随机,说明是人工或分布式脚本,此时关键词拦截和频率限制效果有限,需要启用验证码或第三方评论过滤服务。

常见疑问

后台黑名单和 Nginx 拦截有什么区别? 后台黑名单在应用层执行,能识别评论内容;
Nginx 在服务器层执行,只能按 IP 和频率限制。
两者互补,建议同时开启。

关键词拦截会影响正常用户吗? 如果关键词选得太宽泛(如“http”),可能误伤带链接的正常讨论。
建议只拦截明确的广告词,并开启评论审核兜底。

配置后多久生效? 后台黑名单保存即生效;
Nginx 配置需要重载服务,通常几秒内生效。
建议配置后立即用测试评论验证。

需要安装插件吗? 以上方法不依赖插件,纯手动配置即可。
如果希望自动化更新黑名单,可以安装 Akismet 等反垃圾评论插件,但需要额外注册和配置。

完成以上步骤后,你的网站评论区垃圾留言过滤能力会明显提升。
如果后续发现新的垃圾评论特征,只需在后台黑名单中追加关键词,或调整 Nginx 频率限制参数即可。

分享到:
上一篇
网站后台默认地址修改,减少爬虫扫描攻击
下一篇
帝国CMS后台权限划分,多编辑账号权限管控
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意