def get_captcha(): # user_id = 'test' gt = GeetestLib(captcha_id, private_key) status = gt.pre_process() session[gt.GT_STATUS_SESSION_KEY] = status response_str = gt.get_response_str() return response_str
def login2(request): form_obj = forms.UserForm() if request.method == 'POST': gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) # 如果验证码正确 if result: ret = {'code': 0} username = request.POST.get('username') password = request.POST.get('password') # 自动校验用户名和密码对不对 user = auth.authenticate(username=username, password=password) if user: # 内置的login方法 # 1. 生成Session数据,存一下user_id 然后把sessionid写入Cookie # 后续每一次请求来的时候,AuthenticationMiddleware中的process_request方法中 # 会自动帮我们取到user_id,然后到数据库中拿出user对象,然后添加到request.user属性中 --> request.user = user # 后续我们都可以通过request.user拿到当前的登陆用户对象 auth.login(request, user) ret['data'] = '/home/' else: ret['code'] = 1 ret['data'] = '用户名或密码错误' return JsonResponse(ret) return render(request, 'login2.html', {'form_obj': form_obj})
def login(request): if request.method=='POST': ret = {"status": 0, "msg": ""} username = request.POST.get('username') password = request.POST.get('password') print(111) gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: # 验证码正确 # 利用auth模块做用户名和密码的校验 user = auth.authenticate(username=username, password=password) if user: # 用户名密码正确 # 给用户做登录 auth.login(request, user) ret["msg"] = "/index/" else: # 用户名密码错误 ret["status"] = 1 ret["msg"] = "用户名或密码错误!" else: ret["status"] = 1 ret["msg"] = "验证码错误" return JsonResponse(ret) return render(request,'login.html')
def login(request): if request.method == "POST": ret = {"status": 0, "msg": ""} username = request.POST.get("username") pwd = request.POST.get("password") gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: user = auth.authenticate(username=username, password=pwd) if user: auth.login(request, user) ret["msg"] = "/index/" else: ret["status"] = 1 ret["msg"] = "Incorrect username or password" else: ret['status'] = 1 ret['msg'] = 'Incorrect Captcha' return JsonResponse(ret) return render(request, "login.html")
def validate_captcha(): gt = GeetestLib(current_app.config['GEETEST_ID'], current_app.config['GEETEST_KEY']) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] geetest_user_id = session["geetest_user_id"] if status: result = gt.success_validate(challenge, validate, seccode, geetest_user_id) else: result = gt.failback_validate(challenge, validate, seccode) form = LoginForm() if result & form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if user and user.verify_password(user.password_hash, form.password.data): login_user(user, remember=form.remember_me.data) flash( u"Log in successfully! Your last login date is: %s" % str(current_user.last_login_date).split('.')[0], 'success') user.last_login_date = datetime.now() return redirect(url_for('admin.index')) flash(u"Username or Password error!", 'error') current_app.logger.warning(u'Invalid Login: %s, %s' % (form.username.data, form.password.data)) return render_template('admin/login.html', form=form)
def acc_login(request): if request.method == "POST": print(request.POST) res = {"status": 0, "msg": ""} username = request.POST.get("username") password = request.POST.get("pwd") # 获取极验 滑动验证码相关的参数 gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) print("####################", result) if result: user = authenticate(username=username, password=password) print('user', user) if user: login(request, user) res["msg"] = "/index/" else: res["status"] = 1 res["msg"] = "认证失败,请检查用户名及密码是否正确" else: res["status"] = 1 res["msg"] = "验证码错误" print("**************", res) return JsonResponse(res) return render(request, 'login.html')
def post(self, request, *args, **kwargs): ret = BaseResponse() data = StringFormation(request.data.keys()[0]).data gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = data.get(gt.FN_CHALLENGE, '') validate = data.get(gt.FN_VALIDATE, '') seccode = data.get(gt.FN_SECCODE, '') user_id = data.get("user_id") status = data.get("status") if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: username = data.get("username") passwrod = Auth.encryption(data.get("password")) user = models.UserInfo.objects.filter(username=username, password=passwrod).first() if user: token = Auth.token(user.username) models.Token.objects.update_or_create( user=user, defaults={"token": token}) request.session["user_id"] = user.id request.session["username"] = user.username ret.msg = "登录成功" ret.token = token ret.username = user.username else: ret.code = 1001 ret.msg = "登录失败" ret.error = "用户名或密码错误" return Response(ret.response_dict)
def login(request): # 用于验证ajax请求过来的验证码和帐号密码 if request.method == 'POST': username = request.POST.get("username") user = UserModel.objects.filter(u_name=username) gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) # 如果帐号和验证码验证无误后,验证密码 if user and result: user = user.first() # 全部验证通过后返回登录后的页面 if request.POST.get("password") == user.u_passwd: data = {"code": 300, "href": "/axf/mine"} response = JsonResponse(data) request.session["use_id"] = user.id return response else: data = {"code": 200, "error_msg": "输入的信息有误", "href": "/axf/login"} return JsonResponse(data) else: data = {"code": 200, "error_msg": "输入的信息有误", "href": "/axf/login"} return JsonResponse(data) # 如果是get请求直接返回登录界面 return render(request, "user/login.html")
def new(user_id, dummy=None): if request.method != 'POST': return render_template('new-post.html', user_id=user_id) gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session.get(gt.GT_STATUS_SESSION_KEY, None) if status: success = gt.success_validate(challenge, validate, seccode, user_id) del session[gt.GT_STATUS_SESSION_KEY] else: success = False if not success: flash("验证失败") return render_template('new-post.html', user_id=user_id) title = request.form.get('title', '').strip() content = request.form.get('content', '').strip() if len(title) == 0 or len(content) == 0: flash("内容为空") return render_template('new-post.html', user_id=user_id) m = Model() m.save(user_id, title, content) return redirect(url_for('.home', user_id=user_id))
def post(self, request): response = {"user": None, "msg": None} form = LoginForm(data=request.POST) # 获取极验 滑动验证码相关的参数 gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') # 可以使用自带的authenticate进行校验(使用前提AUTH_USER_MODEL),推荐自行校验,并使用MD5加密进行密码存储 user = auth.authenticate(username=username, password=password) if user is not None: if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: auth.login(request, user) response['user'] = user.username else: response['msg'] = {"verification": ["请进行验证码校验", ]} return JsonResponse(response) else: response['msg'] = {"password": ["密码错误!", ]} return JsonResponse(response) response["msg"] = form.errors return JsonResponse(response)
def get(self): """ @api {get} /api/user/captcha 极验证验证码预处理 @apiName GetCaptChaHandler @apiGroup User @apiSuccessExample {json} Success-Response: HTTP/1.1 200 OK { "status": 0, "message": "success", "data": { "success": int, "gt": str, "challenge": str, "new_captcha": boolean } } """ with catch(self): gt = GeetestLib(settings['gee_id'], settings['gee_key']) status = gt.pre_process() if not status: status = 2 self.redis.set(gt.GT_STATUS_SESSION_KEY, status) response_str = json.loads(gt.get_response_str()) self.success(response_str)
def login(request): if request.method == "POST": ret = {'status': 0, 'msg': ''} username = request.POST.get('username') password = request.POST.get('password') gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: # 验证码正确 user = auth.authenticate(username=username, password=password) if user: # 用户名密码正确 # 给用户做登录 auth.login(request, user) ret["msg"] = '/chess/' else: ret['status'] = 1 ret['msg'] = '用户名或验证码错误' else: ret['status'] = 1 ret['msg'] = '验证码错误' return JsonResponse(ret) return render(request, 'login2.html')
def post(self, request): res = {"status": 1000, "msg": None} try: name = request.data.get("name") pwd = request.data.get("pwd") # 获取极验 滑动验证码相关的参数 gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: # 对比数据表的的账号和密码 user = authenticate(username=name, password=pwd) if user: login(request, user) # 使用login模块进行登录 return redirect("index") else: res["status"] = 1001 res["msg"] = "用户名或密码错误" else: res["status"] = 1001 res["msg"] = "验证码错误" return JsonResponse(res) except Exception as e: res["msg"] = "意外错误,断开连接" return Response(json.dumps(res, ensure_ascii=False))
def login(request): if request.method == "POST": #存放状态码和错误信息,用于返回 ret = {} #运用geetest插件的参数 gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) username = request.POST.get("username") pwd = request.POST.get("password") #运用auth中间件检测user user = auth.authenticate(username=username, password=pwd) if result: if user: #当static为1,将url传过去,当static为0,传错误信息 ret['static'] = 1 #将user对象放入request中,可通过request.user获取登录用户信息 auth.login(request, user) ret["msg"] = "/index/" else: ret['static'] = 0 ret["msg"] = '用户名或密码错误' else: ret['static'] = 0 ret["msg"] = '验证码错误' return JsonResponse(ret) return render(request, 'login.html')
def login(request): if request.method == "POST": # print(request.POST) # 初始化ret字典 ret = {"status": 0, "msg": ""} gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] username = request.POST.get("username") password = request.POST.get("password") vaild_code = request.POST.get("vaild_code") if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: user = auth.authenticate(username=username, password=password) if user: auth.login(request, user) ret["msg"] = "/index/" logger.info("用户 {} 登录成功".format(username)) else: ret["status"] = 1 ret["msg"] = "用户名或密码错误" else: ret["status"] = 1 ret["msg"] = "验证码错误" return JsonResponse(ret) return render(request, "login2.html")
def login2(request): form_obj = forms.LoginForm() if request.method == "POST": gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, "") validate = request.POST.get(gt.FN_VALIDATE, "") seccode = request.POST.get(gt.FN_SECCODE, "") status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: ret = {"code": 0} username = request.POST.get("username") password = request.POST.get("password") user = auth.authenticate(username=username, password=password) if user: ret["data"] = "/index/" else: ret["code"] = 1 ret["data"] = "用户名或者密码错误" return JsonResponse(ret) return render(request, "login2.html", {"form_obj": form_obj})
def login(request): if request.method == "POST": ret = {"status": 0, "msg": ""} username = request.POST.get("username") pwd = request.POST.get("password") # 获取极验 滑动验证码相关的参数 gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: print("XXX") # 验证码正确 # 利用auth模块做用户名和密码的校验 user = auth.authenticate(username=username, password=pwd) if user: # 用户名密码正确 # 给用户做登录 print('1111') auth.login(request, user) # 将登录用户赋值给 request.user ret["msg"] = "/" else: ret["status"] = 1 ret["msg"] = "用户名或密码错误!" else: ret["status"] = 2 ret["msg"] = "验证码错误" return JsonResponse(ret) return render(request, "login.html")
def post(self): cookie=self.get_cookie("username") if cookie!=None and cookie!="": self.redirect('/') return gt = GeetestLib(captcha_id, private_key) challenge = self.get_argument(gt.FN_CHALLENGE, "") validate = self.get_argument(gt.FN_VALIDATE, "") seccode = self.get_argument(gt.FN_SECCODE, "") status = self.session[gt.GT_STATUS_SESSION_KEY] user_id = self.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) self.session["user_id"] = user_id if not result: self.render("login.html",error='You aren\'t human,are you?') return username = self.get_argument("username", strip=True) password = self.get_argument("password", strip=True) if (re.match(r"^\w+$", username)==None or re.match(r"^\w+$", password)==None): self.render("reg.html",error='Only allow [\w+]!') return res = db.get('select * from aliuser where aliuser=%s and passwd=%s',username,password) if (res): aes=AESCipher(key) self.set_cookie("username", urllib.quote(aes.encrypt(username))) self.redirect('/') else: self.render("login.html",error='wrong username or password!')
def post(self): cookie=self.get_cookie("username") if cookie!=None and cookie!="": self.redirect('/') return gt = GeetestLib(captcha_id, private_key) challenge = self.get_argument(gt.FN_CHALLENGE, "") validate = self.get_argument(gt.FN_VALIDATE, "") seccode = self.get_argument(gt.FN_SECCODE, "") status = self.session[gt.GT_STATUS_SESSION_KEY] user_id = self.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) self.session["user_id"] = user_id if not result: self.render("reg.html",error='You aren\'t human,are you?') return username = self.get_argument("username", strip=True) password = self.get_argument("password", strip=True) if (re.match(r"^\w+$", username)==None or re.match(r"^\w+$", password)==None): self.render("reg.html",error='Only allow [\w+]!') return try: res = db.execute('insert into aliuser values(%s,%s)',username,password) self.redirect('/login') except: self.render("reg.html",error='Register Failed: maybe duplicate username!')
def post(self, request): username = request.POST.get("username") password = request.POST.get("password") remember = request.POST.get("remember") if not all([username, password]): return JsonResponse({"status": 4, "errmsg": "请完善所有数据"}) # 获取极验 滑动验证码相关的参数 gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: # 验证码正确 user_active = User.objects.filter(username=username).values( "is_active") # 判断激活 user = auth.authenticate(username=username, password=password) if user_active: if user_active[0]["is_active"]: if user: auth.login(request, user) # 下一次跳转的页面,和未登录时将要跳转的页面 next_url = request.GET.get('next', '/index') # response = redirect(next_url) if remember == 'true': user_cookie = username user_name = "" # response.set_cookie("username", username, max_age=7*24*3600) else: # response.delete_cookie('username') user_cookie = '' user_name = username return JsonResponse({ "status": 0, "msg": next_url, "user_cookie": user_cookie, "user_name": user_name }) else: return JsonResponse({ "status": 3, "errmsg": "用户名或密码不正确" }) else: return JsonResponse({ "status": 2, "errmsg": "用户未激活,请到邮箱激活!" }) else: return JsonResponse({"status": 3, "errmsg": "用户名或密码不正确"}) else: return JsonResponse({"status": 1, "errmsg": "验证码错误"})
def get_mobile_captcha(): user_id = 'test' gt = GeetestLib(mobile_geetest_id, mobile_geetest_key) status = gt.pre_process(user_id) session[gt.GT_STATUS_SESSION_KEY] = status session["user_id"] = user_id response_str = gt.get_response_str() return response_str
def getcaptcha(request): user_id = 'test' gt = GeetestLib(captcha_id, private_key) status = gt.pre_process(user_id) request.session[gt.GT_STATUS_SESSION_KEY] = status request.session["user_id"] = user_id response_str = gt.get_response_str() return HttpResponse(response_str)
def get_captcha(): user_id = random.randint(1,100) gt = GeetestLib(captcha_id, private_key) status = gt.pre_process(user_id) session[gt.GT_STATUS_SESSION_KEY] = status session["random_id"] = user_id response_str = gt.get_response_str() return response_str
def generate_captcha(request): user_id = 'test' gt = GeetestLib(GEETEST_ID, GEETEST_KEY) status = gt.pre_process(user_id) request.session[gt.GT_STATUS_SESSION_KEY] = status request.session["user_id"] = user_id response_str = gt.get_response_str() return HttpResponse(response_str)
def get_geetest(request): user_id = 'test' gt = GeetestLib(pc_geetest_id, pc_geetest_key) status = gt.pre_process(user_id) request.session[gt.GT_STATUS_SESSION_KEY] = status request.session["user_id"] = user_id response_str = gt.get_response_str() return HttpResponse(response_str)
def get_captcha(): user_id = random.randint(1,100) gt = GeetestLib(captcha_id, private_key) status = gt.pre_process(user_id) session[gt.GT_STATUS_SESSION_KEY] = status session["user_id"] = user_id response_str = gt.get_response_str() return response_str
def pcgetcaptcha(request): user_id = 'test' gt = GeetestLib(pc_geetest_id, pc_geetest_key) status = gt.pre_process(user_id) request.session[gt.GT_STATUS_SESSION_KEY] = status # 可以将status,user_id等临时数据放入redis request.session["user_id"] = user_id response_str = gt.get_response_str() return JsonResponse(eval(response_str))
def get(self): user_id = 'test' gt = GeetestLib(mobile_geetest_id, mobile_geetest_key) status = gt.pre_process(user_id) self.session[gt.GT_STATUS_SESSION_KEY] = status self.session["user_id"] = user_id response_str = gt.get_response_str() self.write(response_str)
def _get_captcha(request): session_id = _get_or_create_session_key(request) gt = GeetestLib(captcha_id, private_key) status = gt.pre_process(session_id) request.session[gt.GT_STATUS_SESSION_KEY] = status request.session[GEETEST_UID_NAME] = session_id response_str = gt.get_response_str() return HttpResponse(response_str)
def post(self): gt = GeetestLib(captcha_id, private_key) challenge = self.get_argument(gt.FN_CHALLENGE, "") validate = self.get_argument(gt.FN_VALIDATE, "") seccode = self.get_argument(gt.FN_SECCODE, "") status = self.session[gt.GT_STATUS_SESSION_KEY] result = gt.validate(status, challenge, validate, seccode) self.write(result)
def get(self): user_id = 'firesun' gt = GeetestLib(captcha_id, private_key) status = gt.pre_process(user_id) self.session[gt.GT_STATUS_SESSION_KEY] = status self.session["user_id"] = user_id response_str = gt.get_response_str() self.write(response_str)
def pcgetcaptcha(request): """极验验证函数""" user_id = 'test' # 可自行设置 gt = GeetestLib(pc_geetest_id, pc_geetest_key) status = gt.pre_process(user_id) request.session[gt.GT_STATUS_SESSION_KEY] = status request.session["user_id"] = user_id response_str = gt.get_response_str() return HttpResponse(response_str)
def validate_capthca(): gt = GeetestLib(captcha_id, private_key) status = session[gt.GT_STATUS_SESSION_KEY] challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] gt = GeetestLib(captcha_id, private_key) result = gt.validate(status, challenge, validate, seccode) return result
def get_captcha(): geetest_user_id = random.randint(1, 100) gt = GeetestLib(current_app.config['GEETEST_ID'], current_app.config['GEETEST_KEY']) status = gt.pre_process(geetest_user_id) session[gt.GT_STATUS_SESSION_KEY] = status session["geetest_user_id"] = geetest_user_id response_str = gt.get_response_str() return response_str
def validate(request): if request.method == "POST": gt = GeetestLib(captcha_id, private_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] result = gt.validate(status, challenge, validate, seccode) return HttpResponse(result) return HttpResponse("error")
def ajax_validate(): gt = GeetestLib(captcha_id, private_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] if status: result = gt.success_validate(challenge, validate, seccode) else: result = gt.failback_validate(challenge, validate, seccode) return result
def validate_captcha(request): if request.is_ajax: gt = GeetestLib(settings.CAPTCHA_PUB, settings.CAPTCHA_PRI) status = request.session[gt.GT_STATUS_SESSION_KEY] challenge = request.POST['challenge'] validate = request.POST['validate'] seccode = request.POST['seccode'] if status: result = gt.success_validate(challenge, validate, seccode) else: result = gt.failback_validate(challenge, validate, seccode) return OKAY if result else FAIL return ERROR
def pc_validate_captcha(): gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] user_id = session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) result = "<html><body><h1>登录成功</h1></body></html>" if result else "<html><body><h1>登录失败</h1></body></html>" return result
def mobile_ajax_validate(): gt = GeetestLib(mobile_geetest_id,mobile_geetest_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] user_id = session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id,data='',userinfo='') else: result = gt.failback_validate(challenge, validate, seccode) result = {"status":"success"} if result else {"status":"fail"} return json.dumps(result)
def validate_capthca(request): gt = GeetestLib(settings.GEETEST_CAPTCHAID, settings.GEETEST_PRIVATEKEY) status = request.session[gt.GT_STATUS_SESSION_KEY] challenge = request.POST[gt.FN_CHALLENGE] validate = request.POST[gt.FN_VALIDATE] seccode = request.POST[gt.FN_SECCODE] if status: result = gt.success_validate(challenge, validate, seccode) else: result = gt.failback_validate(challenge, validate, seccode) request.session['isValidated'] = result result = stateCode.SUCCESS if result else stateCode.ERROR return JsonResponse({'state': result, 'info': _('validate failed')})
def validate_capthca(): gt = GeetestLib(captcha_id, private_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] user_id = session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) result = "success" if result else "fail" return result
def post(self): gt = GeetestLib(pc_geetest_id, pc_geetest_key) challenge = self.get_argument(gt.FN_CHALLENGE, "") validate = self.get_argument(gt.FN_VALIDATE, "") seccode = self.get_argument(gt.FN_SECCODE, "") status = self.session[gt.GT_STATUS_SESSION_KEY] user_id = self.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) self.session["user_id"] = user_id result = "<html><body><h1>登录成功</h1></body></html>" if result else "<html><body><h1>登录失败</h1></body></html>" self.write(result)
def post(self): gt = GeetestLib(mobile_geetest_id, mobile_geetest_key) challenge = self.get_argument(gt.FN_CHALLENGE, "") validate = self.get_argument(gt.FN_VALIDATE, "") seccode = self.get_argument(gt.FN_SECCODE, "") status = self.session[gt.GT_STATUS_SESSION_KEY] user_id = self.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) self.session["user_id"] = user_id result = result = {"status":"success"} if result else {"status":"fail"} self.write(json.dumps(result))
def ajax_validate(request): if request.method == "POST": gt = GeetestLib(captcha_id, private_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) result = {"status":"success"} if result else {"status":"fail"} return HttpResponse(json.dumps(result)) return HttpResponse("error")
def validate(request): if request.method == "POST": gt = GeetestLib(captcha_id, private_key) challenge = request.POST.get(gt.FN_CHALLENGE, '') validate = request.POST.get(gt.FN_VALIDATE, '') seccode = request.POST.get(gt.FN_SECCODE, '') status = request.session[gt.GT_STATUS_SESSION_KEY] user_id = request.session["user_id"] if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) result = "<html><body><h1>登录成功</h1></body></html>" if result else "<html><body><h1>登录失败</h1></body></html>" return HttpResponse(result) return HttpResponse("error")
def validate_capthca(): session['vote'] = 0 gt = GeetestLib(captcha_id, private_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] user_id = session["user_id"] session['refer'] = request.referrer if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) result = "success" if result else "fail" if result == "success": session['vote'] = 1 return redirect(session['refer']) else: flash("验证码错误!") return redirect(session['refer'])
def validate_capthca(): if request.method == "POST": gt = GeetestLib(captcha_id, private_key) challenge = request.form[gt.FN_CHALLENGE] validate = request.form[gt.FN_VALIDATE] seccode = request.form[gt.FN_SECCODE] status = session[gt.GT_STATUS_SESSION_KEY] user_id = session.get("user_id", None) if status: result = gt.success_validate(challenge, validate, seccode, user_id) else: result = gt.failback_validate(challenge, validate, seccode) if result: # 验证安全,完成登录 _user = redis_store.get("pre_login") if _user: session["logged_in"] = _user # 验证安全,完成添加留言 _body = redis_store.hgetall("pre_add_msg") if _body: title = _body.get("title") message = _body.get("message") user = User.query.filter_by(username = session["logged_in"]).first() msg = Message(title=title, body=message, user = user) db.session.add(msg) db.session.commit() return redirect("/") else: return redirect("/login") return render_template("validate.html")
def getcaptcha(request): gt = GeetestLib(captcha_id, private_key) status, response_str = gt.pre_process() request.session[gt.GT_STATUS_SESSION_KEY] = status return HttpResponse(response_str)
def get_captcha(request): gt = GeetestLib(settings.GEETEST_CAPTCHAID, settings.GEETEST_PRIVATEKEY) status = gt.pre_process() request.session[gt.GT_STATUS_SESSION_KEY] = status response_str = gt.get_response_str() return JsonResponse({'state': stateCode.SUCCESS, 'responseStr': response_str})
def get(self): gt = GeetestLib(captcha_id, private_key) status, response_str = gt.pre_process() self.session[gt.GT_STATUS_SESSION_KEY] = status self.write(response_str)
def get_captcha(request): if request.is_ajax: gt = GeetestLib(settings.CAPTCHA_PUB, settings.CAPTCHA_PRI) status = gt.pre_process() request.session[gt.GT_STATUS_SESSION_KEY] = status return response('okay', json.loads(gt.get_response_str()))