
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何强制使用强密码
WP集市
2025-08-30
【WordPress教程】
725人已围观
- 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行不行?'));
}
}
- 不过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;
}
- 有时候用户老密码太弱,咱还得强制他们在下次登录时改掉。可以用元数据标记弱密码用户:
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;
}
}
- 插件党可以直接用WordPress的密码策略插件,但咱程序员就爱手搓代码。最后记得给管理员界面加个提示,比如在用户编辑页用JavaScript实时检测密码强度:
// 简单写个前端校验,配合后端双保险
jQuery(document).ready(function($) {
$('#pass1').on('input', function() {
let pass = $(this).val();
if (pass.length < 12) {
$('.pw-weak').show().text('长度不够12位!');
}
});
});
- 其实密码强度就像咖啡浓度,太淡了容易破解,太浓了用户又记不住。折中方案是推荐用密码管理器生成随机串,但WordPress里还得靠代码逼用户一把。最后别忘了测试时把自己锁在外面,记得先开个后台会话保命。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
上一篇:WordPress如何双因素认证

热门文章
