security: 环境变量密钥、密码加盐哈希、CSRF 防护
- config.py/web_server.py 支持环境变量注入 STF_TOKEN/WEB_SECRET_KEY,新增 .env 加载和 .env.example;.env 加入 gitignore - 用户密码从裸 SHA-256 改为 werkzeug 加盐哈希(scrypt),旧哈希登录时自动升级 - CSRF:session token + X-CSRF-Token 请求头校验非 GET 请求,前端自动携带
This commit is contained in:
@@ -4,12 +4,34 @@
|
||||
放各自 tasks/xxx.py 顶部,保持每个任务自包含、互不干扰。
|
||||
|
||||
改 STF 地址/token、adb 路径、web 端口都改这里。
|
||||
|
||||
安全:STF_TOKEN / WEB_SECRET_KEY 建议用环境变量注入(生产不要提交到 git)。
|
||||
支持 `.env` 文件(项目根目录),也可直接 `export STF_TOKEN=xxx`。
|
||||
"""
|
||||
import os
|
||||
|
||||
# 可选加载 .env 文件(不存在则忽略)
|
||||
_env_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), ".env")
|
||||
if os.path.exists(_env_path):
|
||||
try:
|
||||
with open(_env_path, encoding="utf-8") as _f:
|
||||
for _line in _f:
|
||||
_line = _line.strip()
|
||||
if _line and not _line.startswith("#") and "=" in _line:
|
||||
_k, _v = _line.split("=", 1)
|
||||
os.environ.setdefault(_k.strip(), _v.strip())
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
|
||||
def _env(key, default):
|
||||
"""读环境变量,未设置则返回默认值。"""
|
||||
return os.environ.get(key, default)
|
||||
|
||||
|
||||
# ================== STF 配置 ==================
|
||||
STF_URL = "http://192.168.20.220:7100"
|
||||
STF_TOKEN = "9024544b571647d3a6b09dab5dbfcb28bfd950f5b659400394e44e7217b7051b"
|
||||
STF_URL = _env("STF_URL", "http://192.168.20.220:7100")
|
||||
STF_TOKEN = _env("STF_TOKEN", "9024544b571647d3a6b09dab5dbfcb28bfd950f5b659400394e44e7217b7051b")
|
||||
|
||||
# ================== adb 路径 ==================
|
||||
# adb 二进制及依赖统一放在 bin/adb/ 下
|
||||
|
||||
Reference in New Issue
Block a user