大概去年8月开始,不知道哪次升级WordPress的时候把Akismet关掉了,然后就三天两头接到VPS报警说CPU太高。等有空爬上来看看的时候,已经2万多条垃圾评论了,想必服务器配置的孱弱也帮了不少忙,否则那边火力全开,我这里照单全收,估计会翻番都不止。

这些spam就一直成了我的心头大患,一来后台看到这个数字都要PTSD了,什么都不想写(咳咳),手动处理每页20条肯定要处理到猴年马月去了,发给Akismet处理又总是超时,不花钱就不卖艺也不卖身的节奏,心想穷人就别想GUI了,直接命令行进数据库吧。祭出我的《MySQL:从删库到跑路》。

说干就干。然后发现其实数据库里还是最省事的,一个“viagra”关键字下来就已经去掉一多半的垃圾评论,效果拔群。后面又按“pills”、“mg”等等迭代出一些其他的药品名称,提取出来再删除,就只有不到一千条剩余。后来还欣喜地发现里面有大部分俄语的超长评论,每条都超过1K大小,而已批准评论里只有几条超过1K,又有email列表,所以这些超大型垃圾评论也就很好定位了。

最后大概手动处理了300条片儿汤话评论,后台手工标记spam配合数据库按email和URL匹配删除,倒是也省了一半的时间。

结论就是,我要是去年就注意到了这些垃圾评论,按图索骥买那些药,我估计我现在早够判刑的了,川总口中的中国毒枭就可以是我了。

另外就是发现误删了lastest的评论,八成开始的时候条件撒的太宽的时候删掉了:( 本来就没谁来,回头还都让我得罪了,真是。(啥?备份?也许有,好在更新不频繁所以可能很久以前的备份还都可以用,不过那就是未来的事情了)

总之希望这些浪费资源的spammer都全家喜提新冠。