问题 django 1.9 createsuperuser绕过密码验证检查


尝试使用新的django 1.9版本,并通过以下方式创建一个超级用户:

python manage.py createsuperuser

而我只是想为我的本地开发环境使用一个简单的密码,就像只有一个字符,django1.9升级到一个非常严格的密码验证策略,我该如何绕过呢?

Password: 
Password (again): 

This password is too short. It must contain at least 8 characters.

This password is too common.

This password is entirely numeric.

3500
2018-02-11 03:03


起源

那么不习惯使用弱密码呢?使用类似的东西 KeePass的 生成并存储并自动为您输入密码到应用程序中? - Anti-weakpasswords
如何控制用户并让他们决定什么是适当的安全立场? KeePass没有解决我没有登录浏览器窗口的无数案例。 - Ben


答案:


你可以改变 AUTH_PASSWORD_VALIDATORS 在您的开发环境中设置。查看文档: https://docs.djangoproject.com/en/1.9/topics/auth/passwords/#s-enabling-password-validation。它非常简单:您将识别导致您的警告消息的验证器。


7
2018-02-11 08:13





在使用复杂密码创建超级用户之后,您可以在shell中将其设置为更容易的东西(./manage.py shell):

from django.contrib.auth.models import User
user = User.objects.get(username='your_user')
user.set_password('simple')
user.save()

7
2018-02-11 03:16



你也可以运行'./manage.py shell'或'python manage.py shell'no - 是必需的 - Qchmqs


实际上,您无需修改​​验证器设置或首先创建复杂密码,然后再进行更改。相反,您可以直接绕过所有密码验证器创建一个简单的密码。

打开django shell

python manage.py shell

类型:

from django.contrib.auth.models import User

按Enter键然后键入(例如,使用仅包含字母'a'的密码):

User.objects.create_superuser('someusername', 'something@example.com', 'a')

再次点击进入,你就完成了。


1
2018-06-22 12:21