WordPress 官方出品的防垃圾留言插件:Akismet
Akismet 是 WordPress 官方 Automattic 出品的防垃圾评论插件,它的全名是 Automattic Kismet,一般我们简称为 Akismet,他能够同时防止垃圾留言和 Trackbacks,使你的博客基本免除垃圾留言的问题。它是 WordPress 博客必装的插件之一,我在安装 WordPress 后应该做的6件事情中就提到激活 Akismet 插件。
安装 Akismet
默认 WordPress 下载中就有了 Akismet 插件,所以你无需另外去下载 Akismet 进行安装,但是它你必须到 WordPress.com 去注册个帐号,获取 WordPress.com 的 API Key。然后把这个 key 输入到插件的提供的选项中,如果你是给 WordPress MS 安装 Akismet 插件的话,你可以编辑 Akismet 插件,在插件开始定义一个叫做 WPCOM_API_KEY
的常量,把这个 key 的值赋给它,然后全站激活这个插件就可以。
Akismet 的版本
Automattic 提供两种不同的版本的 Akismet,一种是个人版,我们现在使用的就是,大家都可以都免费试用,另外一种是商业版本,它是给那些能够从他们 blog 赚 500 美元的人或者商业客户使用,商业版有更好的服务,并且没有限制。
Akismet 的防垃圾留言机制
Akismet 主要是通过黑名单手段来防止垃圾留言的,所以他主要的优点是它能够实时更新,能够通过不停的学习哪些是垃圾留言,哪些不是。当你的博客收到一条留言,Pingback 或者 Trackback 的时候,它会被提交到 Akismet 服务器去验证,如果 Akismet 识别出这是一条垃圾留言的话,就会通知插件把它标为垃圾留言。而非垃圾留言则通过检查并且得到发表。并且这些垃圾留言将会被存储到数据库中以便给你重新检查,然后会在15日之后自动删除。
上面说到 Akismet 是采用黑名单数据库的方式来检测垃圾留言的,这样的方法其实和杀毒软件的病毒库一样的机制,但是杀毒软件的病毒库是保存在本地(现在也有云杀毒的概念,病毒库都在服务器上,每次杀毒都通过网络来完成),而 Akismet 检测垃圾留言是通过 Akismet 服务器来完成,这样会造成一些问题,每次垃圾留言的检测都要发动到 Akismet 的服务器上去检测,如果你的博客服务器和 Akismet 服务器之间的网络有问题的话,这个检测还很可能失败。另外 Akismet 服务器也有宕机的时候,并且这段时间,又收到上百条垃圾留言的话,这些留言可能会通过而被发表。当然我们可以通过 Akismet 重新检测留言的功能和手工恢复来处理上面提到的情形。另外现在 Akismet 已经在后台提供界面显示你博客服务器和 Akismet 服务器直接之间的连接状态,这个有助于你了解状态。
Akismet 也存在误判断垃圾留言的情形,如果你的博客出现了这种情况,只要手动恢复过来既可以,如果你在别人的博客上留言直接被判断为垃圾留言,那么你这个时候你就要到 Akismet 联系页面手工申请要求把你的 Email 或者博客地址剔除出黑名单,详细你可以参考如何从 Akismet 黑名单中逃生这篇日志。
Akismet 统计
Akismet 从2.2.1 版本开始就推出了统计,可以统计你博客每天的的垃圾留言的数等各种数据:
Akismet 统计功能
Akismet 的 API
其实 Akismet 不仅仅能够为 WordPress 博客用户防垃圾留言,Akismet 开放了 API,其他系统或者程序只要使用 Akismet 作为插件的系统也能够使用它来防止垃圾留言,但是同样需要一个 API Keys。
我是如何防垃圾留言的
- 关闭博客的 Trackbacks,博客之间交流的 Trackbacks 机制已经没有任何意义了,并且被 Spamer 滥用了,所以首先我是彻底关闭博客的 Trackbacks。
- 安装多说插件,多说已经整合了 Akismet,并且在多说后台设置为必须多说用户才能留言,这样基本上垃圾留言都可以判断了。误判的情况很少