博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
极验验证码示例
阅读量:6607 次
发布时间:2019-06-24

本文共 1803 字,大约阅读时间需要 6 分钟。

官网:

 

准备工作:

1、去官网下载相关代码

2、安装geetest模块

 

第一步:将以下代码拷贝到页面的js文件中

注意修改几个地方:

1、第10行,将url改成自己的登陆url。

2、第14-16行,提取自己页面上的数据。

3、第30行,绑定自己的登陆按钮。

4、第34行,在页面中创建一个有这个class的div标签。

1  2  3  4 

 

第二步:设置获取验证码的url和视图函数

1、url绑定视图函数

#获取验证码信息    path('pc-geetest/register', account.pcgetcaptcha),

2、视图函数

pc_geetest_id = "b46d1900d0a894591916ea94ea91bd2c"pc_geetest_key = "36fc3fe98530eea08dfc6ce76e3d24c4"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 login(request):    if request.method == "GET":        return render(request, "login.html")    # POST请求获取用户名和密码    username = request.POST.get("username")    password = request.POST.get("password")    ret = {
"status": False, "msg": None} # 验证码相关操作 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 not status: # 验证码校验失败 result = gt.failback_validate(challenge, validate, seccode) ret["msg"] = "验证码错误" else: # 验证码校验成功 result = gt.success_validate(challenge, validate, seccode, user_id) user = auth.authenticate(username=username, password=password) if user: auth.login(request, user) ret["status"] = True ret["msg"] = "/index" else: ret["msg"] = "用户名或密码错误" return JsonResponse(ret)

 

转载于:https://www.cnblogs.com/yinwenjie/p/10974754.html

你可能感兴趣的文章
初级文件IO——open打开文件成功后行为分析
查看>>
Django-static
查看>>
virtualbox+vagrant学习-5-Boxes-2-Box Versioning
查看>>
矩阵连乘 和表达式加括号求最大值
查看>>
TIANKENG’s rice shop
查看>>
iOS-----正则表达式
查看>>
SSH2搭建步骤 struts-2.2.3.1 hibernate-3.3.2 hibernate-annotations-3.4.0 spring-3.0.5
查看>>
建模心法(3) 模型的演进——保持简单和弹性的3个建议
查看>>
石子合并加强版
查看>>
hdu 4332 Constructing Chimney
查看>>
小白出品 单元测试相关——入门级说明书
查看>>
Linux系统学习笔记(1)
查看>>
浅析设计模式(五)——原型模式
查看>>
饿猫学java——String深入浅出
查看>>
poj 3624
查看>>
Unable to make the session state request to the session state server处理方法
查看>>
图的遍历(Python实现)
查看>>
CSS 笔记——背景布局
查看>>
洛谷P1880 石子合并 [NOI1995]
查看>>
angular限制输入框整数和小数的指令
查看>>