Drupal反垃圾模块Honeypot

Submitted by Dot on Fri, 01/24/2014 - 18:14

11月份装了CAPTCHA,使用了两个月,垃圾评论只是数量上相对减少了,但还是每天都有,效果不尽人意,而且一直觉得验证码实在是很扯淡的东西,所以决定换掉。

Drupal的anti-spam也不少,最后我选择了Honeypot,原因有三,设置简单、名字好听、以及作者的一句承诺“I pledge that Honeypot will have a full Drupal 8 release on the day that Drupal 8 is released.”

其实你根本不用作什么设置,你只需把想要验证的表格项勾选就行了,至于“Honeypot element name”和“Honeypot time limit”采用默认值就OK。

Honeypot模块的原理正如它的名字——Honeypot,具体地说就是利用div标签在相应的表格中插入一个隐藏的字段来引诱robots,如果提交上来的表单中这一字段被填写了内容,那么这个表单无疑是一个由robot制造的spam。这里所说的“字段”就是在“Honeypot element name”下定义的东西。

除了上述,还有很多方法可以判断一个表单是否为spam。比如人要思考,要打字,所以发表一则评论总是要花费些时间的,而相对而言robots瞬间就能完成一份表单,所以我们凭填表的耗时也能大致区分humans or robots,只要选定一个我们自认为合理的界线就可以了。这就是“Honeypot time limit”。比如把它定为5秒,那么,如果一份表单的填写只用了不到5秒的时间,则被认定为spam。

Honeypot结合了这两种验证机制,就目前而言,足以应对绝大多数的弱智robots了。

21号装了Honeypot,至今没看到一条spam,效果比较理想。

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.