Commit a12b4f43 authored by xianyang's avatar xianyang

优化验证码存储

parent 5c1af27a
import pyotp import pyotp
import socket
from typing import List from typing import List
from fastapi import Depends, APIRouter, Request from fastapi import Depends, APIRouter, Request
from datetime import timedelta from datetime import timedelta
...@@ -25,7 +26,9 @@ def img_code(): ...@@ -25,7 +26,9 @@ def img_code():
@router.post("/login") @router.post("/login")
def login(form_data: UserLoginForm, db: Session = Depends(get_db)): def login(form_data: UserLoginForm, db: Session = Depends(get_db)):
user_info = authenticate_user(db=db, form_data=form_data) user_info = authenticate_user(db=db, form_data=form_data)
code = red.get('VerifyCode') # 函数 gethostname() 返回当前正在执行 Python 的系统主机名
res = socket.gethostbyname(socket.gethostname())
code = red.get(res + '-VerifyCode')
if not code: if not code:
return HttpResultResponse(code=500, msg="验证码已过期") return HttpResultResponse(code=500, msg="验证码已过期")
if form_data.verify.lower() != code.lower(): if form_data.verify.lower() != code.lower():
......
...@@ -3,6 +3,7 @@ import os.path ...@@ -3,6 +3,7 @@ import os.path
import random import random
import string import string
import requests import requests
import socket
from PIL import Image, ImageFont, ImageDraw from PIL import Image, ImageFont, ImageDraw
from six import BytesIO from six import BytesIO
...@@ -61,7 +62,8 @@ class imageCode(): ...@@ -61,7 +62,8 @@ class imageCode():
buf_str = buf.getvalue() buf_str = buf.getvalue()
img = b"data:image/png;base64," + base64.b64encode(buf_str) img = b"data:image/png;base64," + base64.b64encode(buf_str)
session.headers['verify'] = code session.headers['verify'] = code
red.set('VerifyCode', code, 100) res = socket.gethostbyname(socket.gethostname())
red.set(res + '-VerifyCode', code, 100)
return img.decode('utf-8') return img.decode('utf-8')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment