Django注册账户时能否移除CommonPasswordValidator校验?
Django移除"密码过于常见"校验规则的操作方法
完全可以实现,Django的密码校验规则全部通过配置项灵活控制,对应触发“The password is too common”提示的是内置的常见密码校验器,按以下步骤操作即可移除:
操作步骤
- 打开项目根目录下的
settings.py配置文件,找到AUTH_PASSWORD_VALIDATORS配置项 - 删除该配置列表中
NAME为django.contrib.auth.password_validation.CommonPasswordValidator的整条字典配置,修改后的配置示例如下:
AUTH_PASSWORD_VALIDATORS = [ # 校验密码和用户属性相似度的校验器,不需要也可删除 { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, # 校验密码最小长度的校验器 { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, # 校验密码是否为纯数字的校验器,不需要也可删除 { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ]
- 保存配置文件后重启Django服务,规则即可生效,后续注册环节将不再校验密码是否属于常见弱密码
注意事项
- 该修改对Django内置的所有用户认证表单(包括默认注册表单、密码修改表单)均生效,无需额外修改表单代码
- 若业务代码中存在手动调用
CommonPasswordValidator校验逻辑的场景,需自行删除对应调用代码 - 移除该校验规则会降低账户安全性,生产环境建议谨慎操作,如确需移除建议补充其他自定义密码校验规则提升安全水位
内容的提问来源于stack exchange,提问作者Ihor
相关产品推荐
相关产品推荐

