WordPress如何防止恶意注册?(附代码)

原创 野人  2022-03-31 09:48  阅读 100 次

我先说下,没有绝对的防止恶意注册的,只能说增加注册的难度?所以接下来我们从增加注册的难度方面来讲。

1、引入第三方的验证方式(手机号、算术题、拼图,滑块...)

2、关闭注册的入口,采用人工注册。

下面给大家分享一个WordPress新用户注册时添加随机数学验证码代码实例(将以下的代码放置在当前所使用的主题根目录下function.php文件里的?>之前):

/**
 * WordPress新用户注册随机数学验证码
 */
function add_security_question_fields()
{
    //获取两个随机数, 范围0~9
    $num1 = rand(1, 9);
    $num2 = rand(2, 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');

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('register_post', 'add_security_question_validate', 10, 3);

本文地址:https://www.yerenwz.com/6025.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论