与评论 spam 作斗争
blog 至今开了大约 7 年,自认为没啥人看,评论部分也很平静,但终于还是迎来了拉屎的 spam。
目录
开始
首次收到垃圾评论是在去年的五月,在这之前我一直保持着 Typecho 的默认设置,没有额外采取反垃圾的手段。由于安装了通知插件,我很快就收到消息并拿下了这条评论。
BlockIP
到了去年的十月,连续两天收到一条垃圾评论,我就感觉有点不对劲了。鉴于来源 IP 地址相同,我就去找了个 Typecho IP 黑名单插件
禁止讨厌鬼访问网站,眼不见心不烦~
直接 ban 掉,收工。
Cloudflare Turnstile
前天来了个猛的,突突两条垃圾评论,IP 来自中国电信 IPv6,我很快地复制到插件拉黑。然而没想到昨天更猛,一下给我整了 5 条,IP 来自中国联通。我先是拉黑,然后觉得这样不行,得上其他的办法。最终,我想到了之前随便发的 Cloudflare Turnstile test ,可以把它做进提交评论的表单。一通网络搜索后,我找到了 给 Typecho 评论区适配 Cloudflare Turnstile ,直接照做,收工。部署后的 33 小时没有收到垃圾评论,我决定就先这样,出了问题再改。
还可以做的事
从我这垃圾评论来看,除了第一条可能是人工提交的,其余的共有特征是
- 名称为随机字母,长度为 10
- 邮箱域为
@qq.com
,邮箱用户名为随机字母,长度为 10 - 当日提交评论的来源 IP 相同,次日可能有变
- 评论内容是与文章无关的废话,可能带垃圾网站链接
- 一定填写了垃圾网站的网址
针对这些,应该可以找个高级点的插件做屏蔽,从长度、邮箱等条件下手。
除此以外的手段就有点算是大杀器了,我想到的是拿 Cloudflare WAF 屏蔽区域访问,或者开 challenge。又或者是限定文章评论窗口期,直至禁用评论。
结束
我无法判断它们是从哪来的,但这斗争的最后一定是我赢(自信)。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。