验证码

图片验证码逻辑

  1. 客户端发起GET连接请求,并随机生成UUID,绑定图片
    • UUID:通用唯一识别码(Universally Unique Identifier),目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,每个人都可以创建不与其它人冲突的UUID
  2. 服务端生成图片验证码,图片存入内存并返回到客户端
  3. 服务端存储源字符串到session中,也可以存入缓存中,例memcachedredis
  4. 客户端表单填写验证码原值
  5. 移出表单框时间触发异步post请求验证,访问时,图片uuid作为属性绑定到表单属性中,作为post提交的数据一部分
  6. 服务端验证时通过UUIDkey,表单值为value进行图片验证码校验

图片验证码使用

  下载pillow

pip install pillow

  在使用的时候需要设置pillow需要的字体。需要复制到django项目中

 

 

设置字体文件的路径

 setting.py

生成图片

 urls.py
 views.py

 

vue生成uuid

 regist.vue

vue请求图片验证码

 View Code

 

带图片验证码的用户注册

 regist.vue

 

 setting.py
 user/urls.py
 user/serializers.py
 user/model.py
 user/views.py
posted @ 2020-11-06 07:50  wxc_ya  阅读(87)  评论(0)    收藏  举报