海洋 CMS 垃圾评论如何过滤拦截

chinaz
chinaz 初级会员超兽战士
发布于 2026-10-08 15:50 ·1 浏览 ·0 回复

结论:海洋CMS 拦垃圾评论最有效的做法是"关掉游客匿名评论 + 开启先审后发 + 在 Nginx 层给评论提交接口做 IP 限流"三件套,能挡掉绝大部分批量灌水,剩下的用关键词黑名单和批量 SQL 清理收尾。只靠后台点"删除"是最没效率的一种。

海洋CMS 的评论开关在哪里?

先把入口堵上,再谈过滤。批量灌水脚本 90% 以上是匿名直接 POST 评论接口,所以第一优先级是抬高提交成本。

具体操作(v9/v10 系列大致相同,菜单名不同版本略有差异,一般在「系统设置」和「评论管理」两块里找):

  1. 关闭游客匿名评论,设置为"仅登录会员可评论"。这一步做完,脚本必须带有效会员 Cookie 才能提交,成本直接翻几倍。
  2. 把"评论是否需要审核"设为"是",新评论进待审队列,前台不显示。
  3. 如果站点根本不需要评论,直接关闭评论功能,前台评论框消失,接口不再受理提交。

结论:能在入口关掉的功能,就不要指望后面用规则去过滤。

为什么只做后台审核不够?

因为审核只解决"显示",不解决"消耗"。脚本一分钟能提交几十上百条,即使全部躺在待审队列里,评论数据表也会迅速膨胀,后台列表翻页卡顿,人工审核时还容易误点通过。

所以要三层一起上:入口门槛(登录才能评论)+ 传输层限流(Nginx 挡 IP)+ 内容审核(人工/关键词)。任何一层都单独不够用。

怎么找到评论提交接口并做 Nginx 限流?

结论:不要猜路径,直接用浏览器 F12 抓真实的提交地址,再对这个地址单独限流。

步骤:

  1. 打开任意文章页,按 F12 → Network → 手动发一条评论,看请求 URL。通常是站点根目录下的评论处理文件(如 comment.php 一类,以你实际抓到的为准)。
  2. 在 Nginx 配置里加限流,示例如下:
limit_req_zone $binary_remote_addr zone=cmt:10m rate=3r/m;

location = /comment.php {
    limit_req zone=cmt burst=2 nodelay;
    limit_req_status 429;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

rate=3r/m 表示单 IP 每分钟 3 次请求,burst=2 允许短时突发 2 次。正常读者一分钟内几乎不可能发 3 条评论,脚本必然被打回 429。改完执行 nginx -t 检查语法,再 nginx -s reload 生效。

如果站点挂在 Cloudflare 这类 CDN 后面,再加一条 Rate limiting 规则,阈值设 5 次/分钟、动作 Block,效果叠加。

关键词黑名单怎么做才不会误杀?

原则是"宁可待审,不可直接拒",并且优先拦截"带外链 + 敏感词"的组合。

把高频垃圾词加进过滤或敏感词设置:博彩、私服、代刷、贷款、办证、加微信、加QQ 等。再补一条规则:评论正文含 2 个以上 http 链接的,直接进待审,不直接显示。

后台如果没有现成的过滤项,可以在评论处理文件里做 PHP 层判断:命中关键词数组或链接数超限就写入待审状态。改文件前先备份原文件,改完立刻发一条正常评论验证没被误伤。

已经堆积的垃圾评论怎么批量清?

结论:先 SELECT 确认范围,再 DELETE,删之前必须备份。

SELECT id, content FROM sea_comment WHERE content LIKE '%加微信%' LIMIT 20;
DELETE FROM sea_comment WHERE content LIKE '%加微信%';

表名和前缀以你安装时设置为准,不确定就在数据库里执行 SHOW TABLES; 找带 comment 的那张。批量删除前先 mysqldump 导出这张表,删错了还能恢复。

最后提醒一句:限流规则上线后观察 24 小时 Nginx 日志里的 429 数量,如果正常读者也被挡,就把 rate 从 3r/m 放宽到 6r/m,别一刀切把评论区做死。

版权声明:本文来自 GJ站长论坛《海洋 CMS 垃圾评论如何过滤拦截》
原文链接:https://www.gj0.com/thread-1037.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~