一、导包,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

后台图片验证码功能是什么实现的相关推荐

  1. 用Java实现图片验证码功能

    一.什么是图片验证码? 可以参考下面这张图: 我们在一些网站注册的时候,经常需要填写以上图片的信息. 1.图片生成实体类: 1 package com.hexianwei.graphic; 2 3 i ...

  2. canvas——实现图片验证码(功能实现)

    canvas实现图片验证码--效果图如下: 1.html部分代码 <div class="wrapper"><div class="inputBox&q ...

  3. drf实现图片验证码功能

    一.背景 在之前实现过django的图片验证码,有自己实现过的,也有基于django-simple-captcha的,都是基于form表单验证,若自己实现,可以获取相应的标签name便可以获取判断,若 ...

  4. javaWeb实现图片验证码功能

    java程序实现画图 public static void main(String[] args)throws Exception {String message="3456789abcde ...

  5. 登录功能图片验证码的实现

    首先从网上下载一个生成验证码的Servlet: package com.train.controller;import java.awt.Color; import java.awt.Font; im ...

  6. 点击图片验证码更换验证码图片

    做登录注册等功能的时候一般都有图片验证码功能,点击看不清,换一张的时候更换一张验证码,但是又不想整个页面跟着刷新,只刷新一个验证码,因为我的项目是react项目,所以就直接上react的代码了,原理就 ...

  7. Spring Boot整合Shiro + JSP教程(用户认证,权限管理,图片验证码)

    在此首先感谢**编程不良人**up主提供的视频教程 代码都是跟着up的视频敲的,遇到的一些问题也是通过CSDN博主提供的教程解决的,在此也感谢那些提供bug解决方案的前辈们~ 项目完整代码已经发布到g ...

  8. Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法

    关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...

  9. SpringBoot+Vue实现请求后台获取Base64编码的图片验证码并使用Redis缓存实现2分钟内有效

    场景 前端Vue的登录页面,验证码请求后台,后台生成验证码照片后使用Base64编码后, 返回给前端,前端进行显示. 注: 博客: https://blog.csdn.net/badao_liuman ...

最新文章

  1. SCCM 2012 Part 2 部署前AD准备
  2. nginx的反向代理以及负载均衡模块的使用
  3. 黑马java代码04-05.docx
  4. Android和IOS打开文档
  5. Cheatsheet: 2010 04.26 ~ 04.30
  6. 移动端分步注册_移动应用程序的可用性测试:分步指南
  7. 作者:马朝辉(1974-),男,华南师范大学计算机学院博士生。
  8. 备份数据库的expdp语句_银行业Oracle RAC数据库迁移经验分享
  9. 用计算机改手机电量,三分钟更换iPhone 6虚标电池,老手机又焕发青春了
  10. linux在命令行下打开pdf文件
  11. 梦幻岛颠覆式变革NFT,探索实体与数字的双轨价值
  12. 我们现在不再需要杀毒软件了吗?
  13. Android——实现Home键功能
  14. 云和恩墨数据库MogDB荣获2021年度IT168最佳创新产品奖
  15. mac 安装 qt5 for tsmuxer
  16. 安卓系统定制常见问题解决
  17. 利用turf.js分析数据---占地分析
  18. c语言二分法排序原理,二分法原理是什么意思_二分法排序原理图解
  19. OpenHarmony社区运营报告(2022年11月)
  20. Java学习day015(日期,格式化)

热门文章

  1. Redis基础(九)——发布与订阅
  2. 机器学习之熵【从定义到代码】
  3. react学习笔记(9)表单控件
  4. Allure2--自动化测试报告生成
  5. java循环do while_Java中for、while、do while三种循环语句的区别介绍
  6. 怎样将Redis以本地服务方式进行启动?
  7. [Ext JS]5.8 Group Grid-分组网格
  8. 超cool的firefox插件之PicLens
  9. 使用python开发网页游戏_四大游戏编程网站,边玩游戏,边学Python,拒绝枯燥快乐编程...
  10. Python使用pytest框架进行单元测试