北极寒流 » 网络资源 » WordPress添加注册和登录用户名黑名单 - 2018.06.21

WordPress添加注册和登录用户名黑名单

WordPress添加注册和登录用户名黑名单实现代码(将下面代码加入主题的functions.php):

//注册登录检查
function dmeng_check_authentication($username){
    //用 | 分割用户名,且 | 前后不留空格
    $black_list = 'admin|administrator|guest|root|test|tester';
    if( !empty($black_list) ){
        $black_list = explode('|', $black_list);
        if( in_array($username, $black_list) ){
            wp_die( __( '该用户名已被系统保留,不能用于注册或登录!', 'dmeng' ), '', array( 'back_link'=>true ) );
        }
    }
}
add_action ('wp_authenticate' , 'dmeng_check_authentication');
add_action ('register_post' , 'dmeng_check_authentication');

以上的代码拒绝了 admin、administrator、guest、root、test、tester 这几个用户名的注册和登录动作,当然了,如果你只想拒绝登录,你可以把这行删掉:

add_action ('register_post' , 'dmeng_check_authentication');

如果你只想拒绝注册,你可以把拒绝登录这行删掉:

add_action ('wp_authenticate' , 'dmeng_check_authentication');

如果你想要注册黑名单和登录黑名单不一样,你可以分别调用两个不同函数。但是!请注意:在这个名单里的用户名都不能注册或登录,包括管理员(假如管理员用户名也在里面的话)。

建议给WordPress添加邮箱登录功能,然后把管理员用户名也加入黑名单,然后使用管理员邮箱登录,这样做的话,那些使用获取到的管理员用户名进行暴力破解的就全都被拒绝登录动作了!

资料来源:http://azfashao.com/wordpress-black-list/

21

WordPress添加注册和登录用户名黑名单

分享到:

最受欢迎的