学习永不停止
我们一起努力吧!

无须插件实现wordpress启动防垃圾验证码

阳江鼎阳抄数设计交流群

做网站总免不了遇到一些“奇形怪状”的事。某一天晚上回到家,打开wordpress网站后台竟然发现收到很多类似群发机所发的评论信息:

看得出,这位朋友是想通过群发信息达到“外链”的作用。但就很多接收方的站长来说,是极为反感的。我暗骂这些人“无聊”的同时,不禁决心要加入“防垃圾评论”验证权限。于是在网上搜索,发现插件很多,也测试了几款,有些不太兼容,有些也挺不错。但本人不太喜欢装太多的插件,最后参照网上教程利用加入了代码,做成了如下形式:

下面将方法贴出来,希望对大家有帮助: 

首先,打开wordpress主题下的functions.php文件,在最后加入以下代码:

//评论添加验证码
function spam_protection_math(){
$num1=rand(0,9);
$num2=rand(0,9);
echo "<input type='text' name='sum' class='math_textfield' value='' size='25' tabindex='4'> $num1 + $num2 = ?"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'>"
."<label for='math' class='small'> 请输入评论验证码</label>";}
function spam_protection_pre($commentdata){
$sum=$_POST['sum'];
switch($sum){
case $_POST['num1']+$_POST['num2']:break;
case null:wp_die('对不起: 请输入验证码.');break;
default:wp_die('对不起: 验证码错误,请重试.');
}
return $commentdata;
}
if($comment_data['comment_type']==''){
add_filter('preprocess_comment','spam_protection_pre');
}

然后,找到控制评论的php文件,比如主题文件下的comments.php文件,将其加入调用代码:

 <?php spam_protection_math(); ?>

加完后大概如下图:

处理完成后,将修改的文件通过FTP上传替换原文件,刷新网页后发现完美实现。

 呵呵,简单吧!为了更好的防止“垃圾评论”,可别省事哦!

未经允许不得转载:http://jdks100.com/风语守望_博客 » 无须插件实现wordpress启动防垃圾验证码


分享到:更多 ()
关注“公众平台”:     学习交流QQ群(185619299):

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • 2 + 9 = ?
  1. #3

    这种数字和答案都是前台传递过去的,真不知道有什么用?脚本评论一样可以无视这种验证码,前台用户体验反而更糟糕

    jinko2年前 (2017-04-02)回复
  2. #2

    不行啊

    流星2年前 (2017-08-31)回复
  3. #1

    恩,试下挺好的

    真英雄1年前 (2017-11-30)回复

风语守望_博客,共同学习,一起成长!

网站首页联系我们
防复制