前言
当博客被各大引擎有些小收录后(尤其是谷歌),会存在大量垃圾评论,很是难缠,博主这小小博客才几篇文章,每天就得十几的垃圾评论,每次看见很是不爽。
因发垃圾评论的 大多是脚本等自动程序发的,所以可以靠验证码的方式来阻隔它们,验证码的样式有很多,最经典的就是图片验证码了,属实也很好不过得加插件,博主是个简洁强迫症主义者!! 为此可以添加一个纯代码实现的数字算数验证码 只需几行代码 简洁明了!!
临近期末 近期博主实在是太忙 没有时间更新博客 只能靠水水WordPress来维持维持的啦
截图
使用方法
把下面的代码添加到主题的functions.php文件:
在当前主题的comments.php找到评论输入部分的代码,添加验证码调用代码:
//评论添加验证码 function spam_protection_math(){ $num1=rand(0,9); $num2=rand(0,9); echo "<label for=\"math\">人机认证: <i>$num1 + $num2 = ?</i> </label>\n"; echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\">\n"; echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n"; echo "<input type=\"hidden\" name=\"num2\" value=\"$num2\">"; } function spam_protection_pre($commentdata){ $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']: break; case null: wp_die('对不起: 请输入验证码。<a href="javascript:history.back(-1)">返回上一页</a>','评论失败'); break; default: wp_die('对不起: 验证码错误,请<a href="javascript:history.back(-1)">返回</a>重试。','评论失败'); } return $commentdata; } if($comment_data['comment_type']==''){ add_filter('preprocess_comment','spam_protection_pre'); }
在当前主题的comments.php找到评论输入部分的代码,添加验证码调用代码:
<?php spam_protection_math();?>
示例如图 不同主题代码不同 解释一下 代码中 标签为 input id为 submit 是提交评论的那个按钮 将这段代码放在 该标签前面即可!