""" 验证码配置模块 ============================================================= 从环境变量读取验证码相关配置,支持字符集、长度、过期时间、防刷机制等自定义。 所有配置项均可在 .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))