python写一个程序完成验证码的匹配验证_python 写一个登陆页面验证码验证

本文介绍了如何使用Python编写一个简单的验证码验证功能,用于登录页面的防护,防止机器人脚本登录。通过Django框架,结合PIL库生成随机验证码图片,并在后台存储验证文本,以实现验证码的匹配验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每个网站的后台都会涉及一个必不可少的功能,那就是登录,有的登录可能只是简单的登录名和密码,但是为了丰富登陆页面和验证防止机器人脚本等登陆情况,程序员们设计了验证码登录,12.06的图片识别验证登录和B站的图片位置登录。

本人刚学习完成python ,就打算用python 来写一个验证码登录的一个小玩意,代码如下:

from django.http import HttpResponse

''' 验证码 '''

def valateCode(request):

import random

from PIL import Image,ImageDraw,ImageFont

from io import BytesIO

# 图片的宽高

width = 120

height = 50

#返回页面的验证码

result_txt = ''

# 自定义都有什么验证码

text = '1234567890'

# 获取颜色

def getBgColor():

return (random.randrange(255), random.randrange(255), random.randrange(255))

# 生成一个图片

img = Image.new('RGB', (width, height), getBgColor())

# 设置书画字体

font = ImageFont.truetype('C:/MyFiles/progress/Python/new_python/static/fonts/FZY3JW.TTF', 44)

# 制作画笔

draw = ImageDraw.Draw(img)

for item in range(4):

textIndex = text[random.randrange(len(text))]

textFontColor = getBgColor()

result_txt += textIndex

draw.text((item * 30, 5), textIndex, textFontColor, font)

# 制作噪点

for item in range(100):

draw.point((random.randrange(width), random.randrange(height)), getBgColor())

# 内存

buf = BytesIO()

img.save(buf, 'jpeg')

request.session["code"] = result_txt

return HttpResponse(buf.getvalue())

这个是Django的登陆页面前台代码:

valateCode 这个是django的一个urls的一个路由,指向上面的这个方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值