Django-验证码
目的防止恶意用户
原生绘制
pillow
-
Image
-
画布尺寸
-
颜色
-
模式
- RGB
-
-
ImageDraw
-
属于那个画布
-
画完的位置
-
封装绘制API
-
文字
-
点
- 例如验证码生成若干干扰点
-
线 等等
-
-
-
ImageFont
-
画笔的辅助工具
-
字体
- 可以从系统copy过来
-
设置绘制的样式
-
需要将画布转为二进制流
并且添加格式限定
内存流
- 使用了BytesIO库
- 将图片存入内存流
- 从流中获取数据值
再httpresponse
-
content_type
-
MIME
- 标识打开我们数据的一个应用程序
- image/png
验证码验证
客户端验证
- 容易被突破
服务端验证
- 在验证码生成的时候,存储验证码
- 在用户提交的时候去验证码的有效性
- 通过用户session与存的验证码比对
验证码的点击刷新
浏览器缓存策略
- 是以url未标识
每次给不同的地址
-
随机生成
-
子主题 1
- $(this).attr(“src”,"/app/getcode/?t="+Math.random())
-