当前位置:首页>网站建设>wordpress后台添加注册验证码防止恶意注册

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

释放双眼,带上耳机,听听看~!

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

效果如下

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

实现方法一

将下面的代码加入到 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写注册,是不受影响的,不过此方法简单粗暴,还需要按照你自己的需求来。

欢迎访问秀主题博客,分享简单实用WP教程
wordpress后台添加注册验证码防止恶意注册
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
网站建设

WordPress 分页判断当前是第一页或最后一页

2024-7-11 7:53:49

网站建设

阻止用邮件不停注册wordpress账户的方法

2024-7-13 7:43:56

温馨提示:

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:971318156@qq.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索