首 页 »
网络杂谈 » Wordpress评论添加算术验证码,防止垃圾评论
Wordpress评论添加算术验证码,防止垃圾评论
2014-04-19 | 浏览人数: 5,162次 | 分类:
网络杂谈 |
查看评论 发表评论
现在wordpress垃圾评论太疯狂了,几天就有几万条了。前几天加了屏蔽IP的方法,不过效果不太明显。今天找到一个新的算术验证码的方法,转载如下。
不罗嗦了,直接贴出代码:
(一)在主题目录的functions.php添加如下代码:
- //算术验证码by vfhky
- function spam_provent_math(){
- $a=rand(5,15);
- $b=rand(5,15);
- echo "<input type='text' name='sum' id='sum' size='22' tabindex='3' value='动手又动脑,哦也 !' onfocus='if (this.value != "") {this.value = "";}' onblur='if (this.value == "") {this.value = "动手又动脑,哦也 !";}' /> = $a + $b (<font color='#0088DD'>防止机器人评论</font>)" ."<input type='hidden' name='a' value='$a'/>" ."<input type='hidden' name='b' value='$b'/>";
- }
- function spam_provent_pre($spam_result){
- $sum=$_POST['sum'];
- switch($sum){
- case $_POST['a']+$_POST['b']:break;
- case null:wp_die('亲,算个结果撒');break;
- default:wp_die('算错啦⊙﹏⊙b汗');
- }
- return $spam_result;
- }
- //注册用户or管理员则不需要验证
- if(!is_user_logged_in() && $comment_data['comment_type']==''){
- add_filter('preprocess_comment','spam_provent_pre');
- }
(二)在主题目录下的comments.php(不同的主题可能评论框的位置不同,有的主题可能在functions.php里面)中调用上述代码:
- <?php if(!isset($_COOKIE['comment_author_email_'.COOKIEHASH]))spam_provent_math();?>
效果如下图示:
沙发为空,还不快抢?[点此发言]