def register_action(request): if "name" and "password" and "confirm_password" in request.GET: if request.GET["password"] == request.GET["confirm_password"]: request_name = request.GET["name"] request_password = request.GET["password"] if User.objects.filter(name=request_name).count() > 0: return HttpResponse("already has this name, please try another one") else: user = User() user.name = request_name user.password = request_password user.save() return HttpResponse("register success<br><a href='/login'>login now</a>") else: return HttpResponse("the passwords you entered do not match") else: return HttpResponse("incomplete field")
def register_post(): mobile = request.form.get('mobile') imagecode = request.form.get('imagecode') password = request.form.get('password') password2 = request.form.get('password2') if imagecode != session['code']: return jsonify(status_code.USER_REGISTER_CODE_ERROR) if not all([mobile, imagecode, password, password2]): return jsonify(status_code.USER_REGISTER_PARAMS_VALID) if re.match(r'1[3456789]/d{9}', mobile): return jsonify(status_code.USER_REGISTER_MOBILE_INVALID) if password2 != password: return jsonify(status_code.USER_REGISTER_PASSWORD_ERROR) user = User.query.filter(User.phone == mobile).all() if user: return jsonify(status_code.USER_REGISTER_MOBILE_EXSIST) user = User() user.phone = mobile user.password = password user.name = mobile user.add_update() return jsonify({'code': status_code.OK})
def login_reg(request): if request.method == 'POST': if len(request.POST) == 2: name = request.POST['username'] pwd = request.POST['password'] user_set = User.objects.filter(username=name, password=pwd) client = User() for u in user_set: client = u if client.username: request.session['client'] = client return HttpResponse('ok') else: return HttpResponse('用户名或密码输入错误') elif len(request.POST) == 6: name = request.POST['username'] nickname = request.POST['nickname'] phone = request.POST['mobile'] pwd = request.POST['password'] pwd2 = request.POST['password2'] sex = request.POST['sex'] name_dic = verify_username(name) phone_dic = verify_phone(phone) pwd_dic = verify_pwd(pwd, pwd2) dictMerged = dict(name_dic.items() + phone_dic.items() + pwd_dic.items()) if dictMerged['phone'] == '' and dictMerged['name'] == '' and dictMerged['pwd'] == '': user = User() user.username = name user.nickname = nickname user.mobile = phone user.password = pwd user.sex = sex user.save() return HttpResponse(json.dumps(dictMerged)) else: return render(request, 'login_reg.html', locals())
def register(request): try: if request.method == 'GET': username = request.GET.get('username') email = request.GET.get('email') password = request.GET.get('password') icon_password = request.GET.get('icon_password') user = User() if User.objects.filter(name=username): return HttpResponse('该用户已存在') else: user.name = username user.email = email user.password = password user.icon = icon_password if icon_password == password: user.save() return HttpResponse('注册成功') else: return HttpResponse('两次密码不一致') except: return HttpResponse('网络错误') return render(request, 'index.html')
def validate(request): userName = '' loggedInUser = '' if request.method == 'POST': user = User() user.username = user user.firstName = request.POST.get('first_name') user.lastName = request.POST.get('last_name') user.email = request.POST.get('email') user.password = request.POST.get('password') if checkEmail(user.email): user.save() userName = user user.username = str(userName) user.save() else: flag = 0 return render(request, 'register.html', {'flag': flag}) userName = user.username return render(request, 'login-register.html', { 'userName': userName, 'loggedInUser': '' }) return render(request, '/login.html/')
def register(): """ 注册 http://127.0.0.1:5000/api/v1.0/users/ 请求的参数:手机号、短信验证码、密码 参数格式:json { "mobile":"18611111111", "sms_code":"404989", "password":"******" } :return: """ # 获取请求的json数据,返回字典 req_dict = request.get_json() mobile = req_dict.get("mobile") sms_code = req_dict.get("sms_code") password = req_dict.get("password") # 校验参数 if not all([mobile, sms_code, password]): return jsonify(errno=RET.PARAMERR, errmsg="参数不完整") # 判断手机格式 if not re.match(r"1[345678]\d{9}", mobile): # 表示格式不对 return jsonify(errno=RET.PARAMERR, errmsg="手机格式错误") # 从redis中取出短信验证码 try: real_sms_code = redis_store.get("sms_code_%s" % mobile) except Exception as e: current_app.logger.error(e) return jsonify(error=RET.DBERR, errmsg="读取真实短信验证码异常") # 判断短信验证码是否过期 if real_sms_code is None: return jsonify(error=RET.NODATA, errmsg="短信验证码失效") # 删除redis中的短信验证码,防止重复使用校验 # try: # redis_store.delete("sms_code_%s" %mobile) # except Exception as e: # current_app.logger.error(e) # 判断用户填写短信验证码的正确性 # print(real_sms_code, type(real_sms_code)) if real_sms_code.decode('utf-8') != sms_code: return jsonify(error=RET.DATAERR, errmsg="短信验证码错误") # 判断用户的手机号是否注册过 # try: # user = User.query.filter_by(mobile=mobile).first() # except Exception as e: # current_app.logger.error(e) # else: # if user is not None: # # 表示手机号已经存在 # return jsonify(errno=RET.DATAEXIST,errmsg="手机号已存在") # 盐值 salt # 注册 # 用户1 password="******" + "abc" sha1 abc$hxosifodfdoshfosdhfso # 用户2 password="******" + "def" sha1 def$dfhsoicoshdoshfosidfs # 比较安全用sha256 # 用户登录 password ="******" "abc" sha256 sha1 hxosufodsofdihsofho # 保存用户的注册数据到数据库中 user = User(name=mobile, mobile=mobile) # user.generate_password_hash(password) user.password = password # 设置属性 # print(user.password) # 读取属性 # 保存用户的注册数据到数据库中 try: db.session.add(user) db.session.commit() except IntegrityError as e: # 出错的话就回滚 db.session.rollback() # 表示手机号出现重复值 current_app.logger.error(e) return jsonify(errno=RET.DATAEXIST, errmsg="手机号已存在") except Exception as e: db.session.rollback() current_app.logger.error(e) return jsonify(error=RET.DBERR, errmsg="查询数据库异常") # 保存登录状态到session中 session['name'] = user.name session['mobile'] = user.mobile session['user_id'] = user.id # 返回结果 return jsonify(errno=RET.OK, errmsg="注册成功!")