签入版本

This commit is contained in:
2026-09-12 19:09:28 +08:00
commit 4eae62bc17
803 changed files with 105034 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
"""
验证码配置模块
=============================================================
从环境变量读取验证码相关配置,支持字符集、长度、过期时间、防刷机制等自定义。
所有配置项均可在 .env 文件中调整,无需修改代码。
依赖:config/__init__.py 中的 _load_env_file() 已提前加载 .env
"""
import os
# ============================================================
# 验证码基础配置
# ============================================================
# 验证码字符长度(4-6位,推荐4位)
# 4位:输入便捷,适合普通场景
# 6位:安全性较高,适合敏感操作
CAPTCHA_LENGTH = int(os.getenv('CAPTCHA_LENGTH', 4))
# 验证码过期时间(秒),默认5分钟
# 过期后验证码自动失效,需重新获取
CAPTCHA_EXPIRE = int(os.getenv('CAPTCHA_EXPIRE', 300))
# 验证码防刷窗口期(秒),默认60秒
# 在此时间窗口内,同一IP获取验证码次数受 CAPTCHA_RATE_LIMIT 限制
CAPTCHA_RATE_WINDOW = int(os.getenv('CAPTCHA_RATE_WINDOW', 60))
# 验证码防刷上限(窗口期内最大获取次数),默认10次
# 超过此次数后需等待窗口期结束才能再次获取
CAPTCHA_RATE_LIMIT = int(os.getenv('CAPTCHA_RATE_LIMIT', 10))
# 验证码字符集(去除易混淆字符:0/O/1/I/l/5/S/2/Z)
# 仅保留清晰易辨的字母和数字,提高用户输入正确率
CAPTCHA_CHARS = os.getenv('CAPTCHA_CHARS', 'ABCDEFGHJKLMNPQRSTUVWXYZ2346789')
# 验证码字体路径(相对于项目根目录)
CAPTCHA_FONT_PATH = os.getenv('CAPTCHA_FONT_PATH', 'static/fonts/Vera.ttf')
# 验证码图片宽度(像素)
CAPTCHA_IMAGE_WIDTH = int(os.getenv('CAPTCHA_IMAGE_WIDTH', 160))
# 验证码图片高度(像素)
CAPTCHA_IMAGE_HEIGHT = int(os.getenv('CAPTCHA_IMAGE_HEIGHT', 50))
# 验证码字体大小(像素)
CAPTCHA_FONT_SIZE = int(os.getenv('CAPTCHA_FONT_SIZE', 28))
# 干扰线数量
CAPTCHA_NOISE_LINES = int(os.getenv('CAPTCHA_NOISE_LINES', 6))
# 噪点数量
CAPTCHA_NOISE_DOTS = int(os.getenv('CAPTCHA_NOISE_DOTS', 30))