我的Spam解决方案

23.11.06

Filed Under: Journal

很多朋友告诉我,说很喜欢我Blog评论的验证方式。也有很多人问是我如何安装的,今天八幺好像也遇到了点问题。看到Nicky写的“讨厌的Spam滚蛋吧”,我也来说说我Blog的Spam解决方案。

在说之前先解释一下什么是“Spam”。“Spam”是英文 Stupid Person Advertising Method (笨蛋的广告方法)的缩写,即通过非法收集电子邮件列表,大量发送垃圾邮件(Spam Email),恶性推销。其行为侵犯隐私,同时占用大量带宽,造成网络拥塞,严重时会使邮件服务器关闭。

Spam在Blog里则表现为垃圾评论(Comment Spam)、垃圾引用(Trackback Spam),所以我选用了以下三个插件来对付Spam。

  1. Akismet 1.15: 用来拦截垃圾评论。这是WP2.0自带的Anti-spam垃圾评论过滤插件,需要在WordPress.com上注册一个ID,然后获得API key才能正常使用。
  2. Simple Trackback Validation 1.1: 用来拦截垃圾引用。这个插件安装也很容易,下载、解压、上传、激活、配置就可以工作了。
  3. Math Comment Spam Protection 2.0:利用简单的算术题阻止垃圾留言,留言之前必须要回答一些简单的加法题。

有了Akismet还并不能很好的阻止垃圾评论,所以我在此基础上又加了一个防止机器人的算术插件。做算术题类插件比较好的有两个,Do you pass matchMath Comment Spam Protection

两者功能都相同,只是在安装和定制上略有不同。Math Comment Spam Protection需要在themes的comments.php中插入一段code,而Do you pass match则不用加任何code,后台激活就可以用了。Math Comment Spam Protection虽然麻烦点,不过能够随意放置到自己想放的地方也挺不错,而且当浏览者做错算术题时,浏览器退回到前一页面浏览者所写的评论还会保留。我的WP因为装了AJAX Comments,这和Math的做错算术题跳转有点冲突,所以回答错问题后评论将不会保留。

Math Comment Spam Protection的安装步骤:

  1. Download Latest Version 2.0 下载最新版,解压上传到/wp-content/plugins/。
  2. 在后台Plugins激活插件,接着到 Options / Math Comment Spam 配置并保存。
  3. 最后一步,添加代码到模版的comments.php的相应位置,一般放在“website URL”下面。如果想像我Blog那样添加中文提示,可以修改代码中的“Spam protection: Sum of”来实现。获取代码请移步插件作者的Blog

罗嗦到此,有任何问题请留言。今天是感恩节,感谢WordPress,感谢所有WP的插件作者和模版作者,感谢互联网。

14 Responses to “我的Spam解决方案”

  1. 八幺

    非常感谢Jamie!
    我将SK2与Quoter两个插件禁用,这个算术题插件才开始工作,效果还不错的.

    还有个问题,似乎blog主人自己回Comment时,AJAX Comments没有效果? 不知道Jamie是不是也是这个情况?

    感恩节快乐! :)

  2. Jamie

    谢谢八幺。我这边作为主人(管理员)登陆,回复Comment时有AJAX效果,和游客评论时的效果一样,只是不需要像游客那样做算术题了。八幺参照一下我使用的插件,看看你还有没有和AJAX冲突的插件。

  3. 逍遥老鬼

    这个方法确实不错啊,比那些呆板的验证码好多了……

  4. caratstar

    说实话有一次居然算错了...倒了

  5. kevin

    我安装了Akismet、Bad Behavior、Spam Karma 2
    每天依然有300多的垃圾留言
    怎么办啊
    太郁闷了

  6. Jamie

    kevin,我去你那看看。

  7. kevin

    我也用了你推荐的这个
    不错
    一个星期过去了
    没有一条垃圾留言了

  8. flavien

    反过来想想,有几个spam comment在那里的话, 也能培养偶们勤劳打扫的习惯,哈哈……

  9. dengxiang

    阿峻,

    近来怎么样啊!

    很久没有联系了!

    你现在在哪呢?

    有时间就跟我联系!告诉我一个接电话不要钱的号码!我打给你!!!

    邓翔

  10. 万俟小刀

    Warning: array_rand() [function.array-rand]: Second argument has to be between 1 and the number of elements in the array in /home/.kurd/wantao/vcdu.com/wp-content/plugins/math-comment-spam-protection/math-comment-spam-protection.php on line 65

    Spam protection: Sum of ?

    添加后页面显示这样,请问是怎么回事? 我添加的位置不对吗?

  11. Jamie

    小刀,你的math-comment-spam-protection.php的65行有错误,看看是不是你不小心改错了。

  12. 万俟小刀

    谢谢 Jamie ,一会我看一下代码.

  13. wb

    试试效果如何。

  14. xxx

    不错

    没有一条垃圾留言了

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feed (this is global, not just for this entry)

Categories