给wordpress加上QapTcha验证

关于QapTcha这个东东,很好玩,很有效。QapTcha是一个利用jQuery UI实现,易于使用,简单并且直观可拖动的jQuery Captcha系统。它让用户拖动一下来代替输入不易看清的验证码。我们可以利用它来实现验证码功能,抵御垃圾评论。

不过对于将QapTcha这东西集成到wordpress的介绍很少,目前看到好几位wper已经用上了,其中几位都是loper付费主题用户,通过google只搜索到了一篇文章,而且我集成之后无法使用AJAX评论功能。借此文章介绍一下该方法,以便大家一起捣鼓。

2011-05-06_1409470012

传统验证码要求用户先辨认(或者计算),然后敲击键盘输入结果。使用QapTcha仅需滑动一下鼠标,可以很好的提高用户体验。其原理是当滑动条滑动到指定位置时,会由后台发起一个请求,该请求会往session里加上一些内容,我们只要在提交的时候判断一下在session里有没有这些内容就可以了。

1、先去官网下载最新版的压缩包,解压。QapTcha依赖于jquery,其包内自带了jquery的js文件。这里假设qaptcha文件夹的路径为http://yourdomain/wp-includes/qaptcha。

2、找到QapTcha.jquery.js,大约在52行

3、如果你要修改提示文字,在QapTcha.jquery.js,找到

4、如果你要修改样式,请对照自己的主题修改QapTcha.jquery.css。

5、修改主题里的functions.php,加上

6、然后修改主题的comments.php文件,找到你希望滚动条出现的位置,加上

7、把文件上传到你的服务器,看看效果吧,然后再修改一下样式,直到自己满意为止。

update 2011.5.10 :

目前“良心发现”已经发布了他添加的方法,除上面必要的步骤外,需要注意一下几点:

1、$.post和主题有js冲突的,请自己修改 QapTcha.jquery.js 文件防止冲突,如:

2、如果没有通过验证是返回一个wordpress提示,使用了“wp_die”函数。但是如果使用了Willin Kan的ajax提交评论的话,就必须得改改。可以看一下Willin Kan的comments-ajax.php 里面将“wp_die”改成了“err”。所以只要把上面代码中的wp_die改成err就没有问题了。

也就是以前第五步中间的后边部分:

3、如果使用的ajax提交评论是很早期的版本,那么还需要注意,如果你添加之后在错误提示的时候导致网页变形,请查看源代码中错误提示的位置是否这样的

目前发现少部分会出现这样的问题,当然也包括我,大部分都是正常的只显示<P>标签内得内容。

如果出现这样的错误,需要修改ajax评论的js文件里的

改为

即可,这样就会过滤掉<meta><link>和<title>标签以及他们中间的内容,只留下需要的<p>标签。此方法来源于:qiqiboy

目前已知问题。

1、启用了willin大师的AJAX评论的童鞋无法修改提交按钮状态为disabled。

2、我启用QapTcha之后解锁状态下无法使用AJAX评论效果,不排除我是用的老版本AJAX的问题。

至于演示,请查看:http://www.3shi.net/add-qaptcha-to-wordpress/ 这里的评论栏效果。

本方法来源于:3shi天下

给wordpress加上QapTcha验证》上有34条评论

  1. 同一个人15秒的评论间隔. 屏蔽重复的评论.
    其实willin的评论判断已经够用了.
    防机器人是够了.
    当然也有人工手动的广告垃圾.
    如果是人工的. 不管怎么防都防不住的

    • 因为目前使用willin kan的小墙基本能够应付目前的Spam。所以并没有添加此功能,毕竟,在新奇的验证码功能,也会降低用户体验。所以没到必要时候,我还没考虑加上它!

      • 恩。willin kan的小墙还没有用过,呵呵,最近收到了3条垃圾评论,但是我也是很少遇到垃圾评论,是我的网站档次还不够。

  2. Pingback引用通告: 给WordPress加评论滑动解锁QapTcha验证 - W7C

发表评论

电子邮件地址不会被公开。 必填项已用*标注