python怎么设置验证码功能
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"python怎么设置验证码功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.导入
千家信息网最后更新 2025年12月02日python怎么设置验证码功能
本篇内容介绍了"python怎么设置验证码功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1.导入模块 并定义一个验证状态
from pil import image, imagedraw, imagefontfrom django.utils.six import bytesiodef verify_code(request): #引入随机函数模块 import random #定义变量,用于画面的背景色、宽、高 bgcolor = (random.randrange(20, 100), random.randrange( 20, 100), 255) width = 100 height = 25 #创建画面对象 im = image.new('rgb', (width, height), bgcolor) #创建画笔对象 draw = imagedraw.draw(im) #调用画笔的point()函数绘制噪点 for i in range(0, 100): xy = (random.randrange(0, width), random.randrange(0, height)) fill = (random.randrange(0, 255), 255, random.randrange(0, 255)) draw.point(xy, fill=fill) #定义验证码的备选值 str1 = 'abcd123efghijk456lmnopqrs789tuvwxyz0' #随机选取4个值作为验证码 rand_str = '' for i in range(0, 4): rand_str += str1[random.randrange(0, len(str1))] #构造字体对象,ubuntu的字体路径为"/usr/share/fonts/truetype/freefont" font = imagefont.truetype('freemono.ttf', 23) #构造字体颜色 fontcolor = (255, random.randrange(0, 255), random.randrange(0, 255)) #绘制4个字 draw.text((5, 2), rand_str[0], font=font, fill=fontcolor) draw.text((25, 2), rand_str[1], font=font, fill=fontcolor) draw.text((50, 2), rand_str[2], font=font, fill=fontcolor) draw.text((75, 2), rand_str[3], font=font, fill=fontcolor) #释放画笔 del draw #存入session,用于做进一步验证 request.session['verifycode'] = rand_str #内存文件操作 buf = bytesio() #将图片保存在内存中,文件类型为png im.save(buf, 'png') #将内存中的图片数据返回给客户端,mime类型为图片png return httpresponse(buf.getvalue(), 'image/png')
3.在网页中直接放入img中

4.使用ajax 获取验证密码和账号
login
请输入验证码![]()
记住密码
点击到获取cookies
在上面 ajax 中 向服务器发送了 账号密码 和 验证码
在验证函数中
yzm = request.post.get('yum') # 获取传入的 验证码 vaue = request.session['verifycode'] # 生成图片的时候 把验证码存到了session 中 if yzm !=vaue: #如果不相等的话会返回 3 html ajax 会显示验证错误 return jsonresponse({'res':3})成果图:
"python怎么设置验证码功能"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
验证
图片
登陆
内存
函数
字体
密码
对象
画笔
功能
成功
内容
文件
更多
模块
画面
知识
类型
账号
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
不属于大型软件开发
应用兽图鉴 数码兽数据库
杭州项目软件开发哪家便宜
宝可梦世界极巨化版怎么进服务器
网络安全风险点研判
app 海量数据库
安徽大数据软件开发多少钱
阿里云服务器数据恢复
网络安全的基本要点
上海互联网软件开发专业服务
服务器安全狗如何
苏州防爆刀片服务器生产厂家
软件开发工程师智格证
世界互联网领先科技
放置海岛为什么没有服务器
开源分布式内存数据库
中国科技部互联网 创新创业
类似旅划算的软件开发
杭州飚游网络技术有限公司
华企网络安全管理软件
无法检索数据库元数据
石河子仕牢网络技术有限公司
应聘网络技术员的问题和答案
软件开发工程师智格证
lol服务器维护时间表
三门峡网络安全学校
免费外国服务器地址
软件开发 取费
英雄联盟一共有几个服务器
靖江进口网络技术市场