鹿泽鹿泽  2024-09-05 10:48:20 鹿泽笔记 隐藏边栏  0 

这几天垃圾评论突然多了起来,虽然都被WordPress拦截到了未审核里,但是看到每天几十条全是链接的垃圾评论还是闹心。所以想加个评论验证码,过滤下垃圾评论。用的方法是添加了一个简单的数学算式,算对了才能发送评论,老规矩,非插件版。

添加方法很简单:

在评论页面(一般是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">";

这个根据主题,将这段代码放在对应位置。

在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评论时增加验证码的功能,提交评论时需要加入一个算术值。

1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505