WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress如何强制使用强密码

查看 WP集市 的更多文章WP集市 2025-08-30 【WordPress教程】 725人已围观

  1. WordPress默认密码策略其实挺松的,admin123这种都能过,但咱可以强行给它上强度。首先想到的是用函数钩子,直接在用户注册或修改密码时触发校验。比如在主题的functions.php里塞段代码:
add_action('user_profile_update_errors', 'enforce_strong_password', 10, 3);
function enforce_strong_password($errors, $update, $user) {
    if (empty($_POST['pass1'])) return;
    if (!wp_check_password_strength($_POST['pass1'])) {
        $errors->add('pass', __('密码太弱了,至少带大写字母、数字和符号,别用123456行不行?'));
    }
}
  1. 不过wp_check_password_strength这函数本身可能不够狠,咱得自定义规则。比如要求最少12位,包含三种字符类型:
function custom_password_strength($password) {
    $score = 0;
    if (strlen($password) < 12) return false;
    if (preg_match('/[A-Z]/', $password)) $score++;
    if (preg_match('/[0-9]/', $password)) $score++;
    if (preg_match('/[^a-zA-Z0-9]/', $password)) $score++;
    return $score >= 3;
}
  1. 有时候用户老密码太弱,咱还得强制他们在下次登录时改掉。可以用元数据标记弱密码用户:
add_action('wp_login', 'force_password_reset_if_weak', 10, 2);
function force_password_reset_if_weak($user_login, $user) {
    if (get_user_meta($user->ID, 'weak_password', true)) {
        wp_logout();
        wp_redirect('/wp-login.php?action=resetpass');
        exit;
    }
}
  1. 插件党可以直接用WordPress的密码策略插件,但咱程序员就爱手搓代码。最后记得给管理员界面加个提示,比如在用户编辑页用JavaScript实时检测密码强度:
// 简单写个前端校验,配合后端双保险
jQuery(document).ready(function($) {
    $('#pass1').on('input', function() {
        let pass = $(this).val();
        if (pass.length < 12) {
            $('.pw-weak').show().text('长度不够12位!');
        }
    });
});
  1. 其实密码强度就像咖啡浓度,太淡了容易破解,太浓了用户又记不住。折中方案是推荐用密码管理器生成随机串,但WordPress里还得靠代码逼用户一把。最后别忘了测试时把自己锁在外面,记得先开个后台会话保命。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 280 篇 | 评论 0 次
最新文章