wordpress后台添加注册验证码防止恶意注册

2023年5月24日 飞飞 阅读(748)
知识付费主题,优惠促销中:xx-blog主题

最近网站莫名其妙的被顶上了,过一个多小时,就注册一个账号,虽然不多,但是也挺烦,时间一长垃圾注册的就多了。
由于我前台把注册关掉了,只允许用第三方登录,经过查找发现是通过后台注册的,后台无须邮箱验证即可注册,也是就想着在后台加个验证码。

效果如下

实现方法一

将下面的代码加入到 function.php 中,刷新页面就会看到。

//WordPress新用户注册随机数学验证码
function add_security_question_fields()
{
    //获取两个随机数, 范围0~9
    $num1=rand(0,9);
    $num2=rand(0,9);
    //最终网页中的具体内容
    echo "<p><label for='math' class='small'>验证码:$num1 + $num2 = ? </label><input type='text' name='sum' class='input' value='' size='25'>"
    ."<input type='hidden' name='num1' value='$num1'>"
    ."<input type='hidden' name='num2' value='$num2'></p>";
}

add_action('register_form','add_security_question_fields');
add_action( 'register_post', 'add_security_question_validate', 10, 3 );

function add_security_question_validate( $sanitized_user_login, $user_email, $errors) 
{
    $sum=$_POST['sum'];//用户提交的计算结果
    switch($sum){
    //得到正确的计算结果则直接跳出
    case $_POST['num1']+$_POST['num2']:break;
    //未填写结果时的错误讯息
    case null:wp_die('错误:请输入验证码!');break;
    //计算错误时的错误讯息
    default:wp_die('错误:验证码错误,请重试!');}
}
add_action( 'add_security_question','register_form' );

实现方法二

直接将后台的注册功能关闭,前台用ajax写注册,是不受影响的,不过此方法简单粗暴,还需要按照你自己的需求来。


关注微信公众号『xx主题网

第一时间了解最新网络动态
关注博主不迷路~

未经允许不得转载:xx主题网 » wordpress后台添加注册验证码防止恶意注册
分享到:

评论抢沙发

要发表评论,您必须先

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

扫码关注微信公众号

扫描关注xx主题网