垃圾评论太多了,用Akismet过滤掉明显的垃圾内容后,每天也会有数百甚至上千条待审核垃圾评论。无奈之下,只得求助于验证码,让机器评论减到最小值。reCAPTCHA是个简单方便的选择。
1 介绍
reCAPTCHA是一个免费服务,用以防止spam(电子形式的垃圾信息)、恶意注册以及其他形式的计算机伪装人类的攻击。 CAPTCHA全称Completely Automated Public Turing test to tell Computers and Humans Apart,是区分计算机与人类的全自动图灵测试。reCAPTCHA可以小部件(widget)形式轻松地添加到博客、论坛、注册表单等之中。除了保护站点,Google还使用reCAPTCHA把旧图书和报纸数字化。
2 申请
访问http://www.google.com/recaptcha/,点击右上角的“Get reCAPTCHA”。
然后点击“Sign up Now!”,如果没有登录Google,此时会要求登录。
在“1”处输入域名,比如caibaoz.com。如果验证码只用于这一个域名,“2”处不需要勾选;如果验证码用于所有网站,则需要勾选此复选框。设置完成后,点“CREATE”按钮。
点击caibaoz.com链接,就能看到你所获得的“Public Key”和“Private Key”。
3 设置
安装并启用WP-reCAPTCHA插件,然后进入“设置->WP-reCAPTCHA”。
填写申请获取的Public Key和Private Key。
“Enable for comments form”选中,则必须输入reCAPTCHA才能提交评论;“Hide for Registered Users who can”选中,可以让某些或全部注册用户不需要输入验证码;Theme是验证码颜色主题,可根据实际需要选择。
“Enable for registration form”选中,则必须输入reCAPTCHA才能注册用户。
“reCAPTCHA Ignored”和“Incorrect Guess”分别是忽略和输错验证码时会出现的提示信息。
上述信息都输入完毕后,点击“Save reCAPTCHA Changes”按钮保存设置。
剩余部分是MailHide设置,要显示邮箱地址,必须输入验证码。reCAPTCHA账户中的“Protect your email”就是申请Key的地方。我没有用到,就不涉及了。
4 防火墙
如果使用了防火墙,可能会使得reCAPTCHA不能正常工作,需要开放下述Google服务器地址的80端口访问权限:
ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16
地址偶尔会改变,需要隔段时间检查一下。Windows下获取这些地址的命令是:
nslookup -type=TXT _netblocks.google.com
Linux下的命令是:
dig -t TXT _netblocks.google.com
我使用iptables作为防火墙,配置命令是:
iptables -A INPUT -p tcp --sport 80 -s 216.239.32.0/19 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 64.233.160.0/19 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 66.249.80.0/20 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 72.14.192.0/18 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 209.85.128.0/17 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 66.102.0.0/20 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 74.125.0.0/16 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 64.18.0.0/20 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 207.126.144.0/20 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -s 173.194.0.0/16 -j ACCEPT
5 参考文档
Visits: 2613