|
20鱼币
python-django
想测试下自己的有没有漏洞 发现只要登录失败 返回的页面根本不带查询信息 是不是相当于没有这个漏洞? 成功和两种失败页面如下
比如登录页面 点击登录后跳转到logined页面(请别吐槽为什么不写成loginned pycharm怎么也不给过这个拼写 既然都不给过 我也懒得改了 直接忽略拼写提示...)
处理函数大概是这样的 传给网页的数据是个字典 至少含有'result'项(logined.html根据result生成不同的登陆结果页面 成功则跳转主页 失败则根据result提示原因)
- def logined(request):
- username = request.POST.get('username')
- password = request.POST.get('password')
- user = User.objects.filter(username__exact=username)
- if len(user) != 1:
- result = 'username failed'
- data = {
- 'result': result,
- }
- else:
- if password != User.objects.get(username__exact=username).password:
- result = 'password failed'
- data = {
- 'result': result,
- }
- else:
- result = 'ok'
- request.session['user'] = {
- 'username': user[0].username,
- 'email': user[0].email,
- 'img': str(user[0].img),
- }
- data = {
- 'result': result,
- 'username': user[0].username,
- 'email': user[0].email,
- }
- return render(request, 'personal/logined.html', data)
复制代码
加密储存的事 在做了在做了(咕咕咕
你用了Django 的ORM基本就没有sql注入的问题。
sql注入一般来说是手写sql才会出现。
你这里代码的逻辑没有什么问题。就是有一两个地方比较啰嗦
|
最佳答案
查看完整内容
你用了Django 的ORM基本就没有sql注入的问题。
sql注入一般来说是手写sql才会出现。
你这里代码的逻辑没有什么问题。就是有一两个地方比较啰嗦
|