这几天垃圾评论突然多了起来,虽然都被WordPress拦截到了未审核里,但是看到每天几十条全是链接的垃圾评论还是闹心。所以想加个评论验证码,过滤下垃圾评论。用的方法是添加了一个简单的数学算式,算对了才能发送评论,老规矩,非插件版~
先给你们感受下这两天小站收到的垃圾评论,全都是国外的,各种链接评论,简直丧心病狂:
添加方法很简单:
1.在评论页面(一般是comments.php)添加对应的数字验证UI代码:
$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\">";
这个根据你的主题,将这段代码放在对应位置。
2.在functions.php中添加WordPress提交评论时验证是否提交了算术值是否正确:
function spam_protection_pre($commentdata){ $sum=$_POST['sum']; if ($sum == null) { wp_die('对不起: 请输入验证码。<a href="javascript:history.back(-1)">返回上一页</a>', '评论失败'); } else { switch ($sum) { case $_POST['num1'] + $_POST['num2']: break; default: wp_die('对不起: 验证码错误,请<a href="javascript:history.back(-1)">返回</a>重试。', '评论失败'); } } return $commentdata; }
至此,你就成功添加了在WordPress评论时增加验证码的功能~效果如下方我的评论一样,提交评论时需要加入一个算术值~
相关文章