给wordpress加上QapTcha滑块验证

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 10:20 点击:

这几天博客的spam漫天飞啊满天飞…他娘的锤子..天天给我一大堆垃圾评论删…烦都烦死了..
关于防止垃圾评论,网上有很多方法…WP呢,也有不少插件,比如说wp-seccod什么的..
这里我另外写一个防止垃圾评论的方法

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

1、先去官网下载最新版的压缩包,解压.
由于QapTcha依赖于jquery,其包内自带了jquery的js文件,把文件夹改名后上传.
我的qaptcha文件夹的路径为 Http://x73.cc/wp-includes/qaptcha.
2、找到QapTcha.jquery.js,大约在11行

view sourceprint?01 jQuery.QapTcha = { 

02     build : function(options) 

03     { 

04         var defaults = { 

05             txtLock : Locked : form can be submited, //解锁前提示,可自由修改 

06             txtUnlock : Unlocked : form can be submited, //解锁后提示,可自由修改 

07             disabledSubmit : true, 

08             autoRevert : false, 

09             PHPfile : php/Qaptcha.jquery.php //把这个地址改为/wp-includes/qaptcha/php/Qaptcha.jquery.php 

10         };

3.如果你要修改样式,请对照自己的主题修改QapTcha.jquery.css即可

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

view sourceprint?01 function my_wp_head() {//这个函数里的内容当然也可以直接写到header.php里 

02   if(is_singular() && !is_user_logged_in()) { 

03     echo ´<script type="text/javascript" src="´.get_bloginfo("wpurl").´/wp-includes/qaptcha/jquery/jquery-ui.js"></script>´." "; 

04     echo ´<script type="text/javascript" src="´.get_bloginfo("wpurl").´/wp-includes/qaptcha/jquery/jquery.ui.touch.js"></script>´." "; 

05     echo ´<script type="text/javascript" src="´.get_bloginfo("wpurl").´/wp-includes/qaptcha/jquery/QapTcha.jquery.js"></script>´." "; 

06     echo ´<link rel="stylesheet" href="´.get_bloginfo("wpurl").´/wp-includes/qaptcha/jquery/QapTcha.jquery.css" type="text/css" />´." "; 

07     echo ´<script type="text/javascript"> 

08   $(document).ready(function(){ 

09     $("#QapTcha").QapTcha({disabledSubmit:true}); 

10   }); 

11 </script>´." "; 

12   } 

13 } 

14 add_action(´wp_head´, ´my_wp_head´, 100); 

15 function my_preprocess_comment($comment) { 

16   if (!is_user_logged_in()) { 

17     if(!session_id()) session_start(); 

18     if(isset($_POST[´iQapTcha´]) && empty($_POST[´iQapTcha´]) && isset($_SESSION[´iQaptcha´]) && $_SESSION[´iQaptcha´]) { 

19       unset($_SESSION[´iQaptcha´]); 

20       return($comment); 

21     } else wp_die("抱歉,你没有通过验证。");//提示语自行修改 

22   } else

23     return($comment); 

24 } 

25 add_

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • WordPress添加百度喜欢按钮小技巧
      • Wordpress 博客如何实现自定义Gravatar头像
      • 网站设计分析:建立良好的视觉层级
      • 网站设计分析:“中国式设计”的三个方向
      • 案例分析:奥巴马筹款网站的制作过程
      • 创建不平衡的平衡:在网页设计中使用不对称设计
      • 7大主流B2C首页导航栏设计对比分析
      • Wordpress页面模板制作方法及使用
      • css控制文字前的小图标
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1