Die*_*ila 0 python security django
我创建了自己的自定义登录,我没有使用django的登录.
这是我的models.py:
class TipeUser(models.Model):
tipe = models.CharField(max_length=30)
detail = models.CharField(max_length=50, blank=True, null=True)
class User(models.Model):
user = models.CharField(max_length=20)
password = models.CharField(max_length=50)
state = models.CharField(max_length=1)
id_tipe_user = models.ForeignKey(TipeUser, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)
我的views.py:
def login(request):
context={}
return render(request, 'login.html', context)
def validate(request):
if request.method=='POST':
nameUser = request.POST.get('nameUser')
passwordUser = request.POST.get('passwordUser')
password = md5.new(passwordUser).hexdigest()
try:
userAdmin = User.objects.get(user=nameUser, password=password, id_tipe_user=1, state=1)
request.session['nameUser'] = userAdmin.user
return redirect('home')
except User.DoesNotExist:
message= "User/Password wrong !!"
context = {
'message': message,
}
return render(request, 'login.html', context)
def home(request):
if 'nameUser' not in request.session:
return render(request, 'login.html', {})
else:
return render(request, 'myMenu.html', context)
def logout(request):
if 'nameUser' in request.session:
#delete session
del request.session['nameUser']
#redirect to login
return redirect('login')
else:
return redirect('login')
Run Code Online (Sandbox Code Playgroud)
我想第二个意见,这是一个好习惯吗?我在这里完全安全,还是需要修改我的代码?
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |