wordpress无插件纯代码实现注册验证 拒绝恶意注册

小兽WordPress改版后使用TML插件出现恶意注册问题,作者通过纯代码方式添加验证机制。在注册表单中增加自定义问题,要求用户输入指定域名(如www.seo628.com),未正确填写则阻止注册。该方法无需第三方服务,简单有效地过滤恶意注册。

WordPress基础教程
阅读时间: 13 分钟
最后更新时间:2025年11月13日

最近小兽wordpress进行了一次改版,改版后使用了TML用户自定义登录注册插件,但是发现一个很严重的问题,那就是突然开始出现很多恶意注册用户,搞的是很烦人,所以就想着添加一个注册时的验证,到网上搜到很多,比如使用极验的方法,但是还要注册账号什么的,比较麻烦,不太想用。那就继续找,终于发现一个纯代码实现的方法。具体如下:

把下面这段代码添加到自己的functions.php,其中的验证问题我使用了本站的域名“www.seo628.com”,你也可以改成其他内容。注意改的时候,代码第四行和倒数第四行都有,要改两处哦

add_action( 'register_form', 'add_security_question' );
function add_security_question() { ?>
    <p>
    <label><?php _e('请输入本站域名:www.seo628.com') ?><br />
        <input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" /></label>
    </p>
<?php }
     
add_action( 'register_post', 'add_security_question_validate', 10, 3 );
function add_security_question_validate( $sanitized_user_login, $user_email, $errors) {
    // 如果没有回答
    if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) {
        return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回答问题。'  );
    // 如果答案不正确
    } elseif ( strtolower( $_POST[ 'user_proof' ] ) != 'www.seo628.com' ) {
        return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。'  );
    }
}

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

曾凤祥

曾凤祥

技术负责人
小兽wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为10万多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽wordpress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部