博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
后台图片验证码功能是什么实现的
阅读量:5981 次
发布时间:2019-06-20

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

一、导包,1)check_code.py文件;2)Monaco.ttf字体;

二、通过session机制,来实现此功能,部分代码如下:

1     f = BytesIO()2     img, code = create_validate_code()3     request.session['check_code'] = code   4     img.save(f, 'PNG')5     return HttpResponse(f.getvalue())

  1)在内存中开辟一个f对象;

  2)调create_validata_code方法,生成一个验证码和一张含有该验证码的图片;

  3)在该用户的session中添加一组新的键值对,用来做用户输入验证码的校验;

  4)图片已PNG的形式保存在f中;

  5)在f中读取图片的内容,并将它返回给浏览器;

  6)即在浏览器上生成一张带有验证码的图片;

三、后台校验验证码:

  部分代码如下:

1         input_code = request.POST.get('code')2         check_cd = request.session['check_code']   #从session里拿验证码3         print(input_code,check_cd)4         #分别做处理5         return HttpResponse('...')

  1)后台接收用户输入的验证码;

  2)后台从用户发送的ccokie中获取sessionid,而今获取其携带的后台下发的验证码;如果是用户第一次登陆,那么就没有“check_code”这个字段;

  3)后台此时已经有2个验证码了,分别是下发给用户的和用户输入的;

  4)根据具体的业务场景,分别做处理即可;

  

转载于:https://www.cnblogs.com/qinweijujingyi/p/10178744.html

你可能感兴趣的文章
Apache日志分割&日志分析
查看>>
MySQL完全备份与恢复
查看>>
JVM内存结构 VS Java内存模型 VS Java对象模型
查看>>
__main__:1: Warning: Unknown table 'employ' 0L
查看>>
Linux练习题-文件查找
查看>>
python bottle 简介
查看>>
设计微服务的最佳实践
查看>>
后缀.COLORIT勒索病毒分析和解决方案,.COLORIT勒索病毒如何处理
查看>>
在做推荐系统前,请先避免这几个问题
查看>>
Sketch技巧—数字运算改变图层
查看>>
换字式密码
查看>>
Es6
查看>>
2013历程
查看>>
Queue
查看>>
用 Flask 来写个轻博客 (15) — M(V)C_实现博文页面评论表单
查看>>
wampserver 运行橙色,80端口没有被占用,查看错误日志方法
查看>>
Adwords Campaign network & placement
查看>>
java查询图片显示无图片显示项目默认图片
查看>>
page1201未完成
查看>>
oracle数据库命令-持续更新
查看>>