本文发自 http://www.binss.me/blog/fight-with-spammer-and-maybe-to-be-continue/,转载请注明出处。

今天登录博客,日常查看评论,突然发现突然间冒出了很多评论,还没来得及狂喜,就发现了传说中的广告哥!

虽然做了转义,但是一堆堆垃圾信息总是令人不爽的。后台删掉删掉。

结果晚上一看。。。又冒出来一堆:

根据时间观察,应该是脚本自动刷的了。而且榜上有名。

暂时ban ip,SAE做的太贴心了,既然这样就暂时不搬到阿里云了。。。

2015.03.27 更新

最近忙面试的事,比较少管理binsite。今晚上来一看,又是一堆垃圾评论!就算ip已在黑名单内,但是其仍然能够发布垃圾评论,目测和SAE防火墙时不时抽风有关。

2015.04.02更新

由于偷懒,还是不想重写comments。通过分析该spammer的行为,发现他是先访问文章页面,然后提取评论form中的所有input字段,然后直接通过post到action指向的地址,因为我在js中实现的评论提醒post没有触发。

于是我把csrf的input放到了别的地方,然后在form中保留一个错误的csrf值:

<input type='hidden' id="form_csrf" name='csrfmiddlewaretoken' value='i-am-spammer' />

然后在submit时才修改的值csrf:

$("#form_csrf").attr("value", csrf);

机智如我,三天下来spammer再也没出现过。