fix: 面板token鉴权——静态资源(js/css/页面)放行,仅/api校验token(修复tailwind等401)

This commit is contained in:
xxm
2026-08-28 22:53:25 +08:00
parent 7fc6116a0a
commit b52fa0ddce
+8 -4
View File
@@ -180,14 +180,18 @@ MOFIN_TOKEN = os.environ.get("MOFIN_TOKEN", "nyPj-13XGqau4VdBkr2ksCycGpAtnVlNbbR
@app.before_request
def _require_token():
# 静态资源放行(JS/CSS/HTML外壳,不携带数据)
if request.path.startswith("/static") or request.path in ("/favicon.ico",):
# 1) 静态资源永久放行(HTML 引用的 js/css/图片/字体/页面,不承载数据)
_p = request.path.split("?")[0].lower()
if _p.startswith("/static") or _p.endswith((
".js", ".css", ".png", ".jpg", ".jpeg", ".gif", ".svg",
".ico", ".woff", ".woff2", ".ttf", ".map", ".html",
)):
return None
# token 校验:URL 参数 ?token=xxx 或请求头 X-Auth-Token
# 2) token 校验:URL 参数 ?token=xxx 或请求头 X-Auth-Token(仅 API
t = (request.args.get("token") or "").strip() or (request.headers.get("X-Auth-Token") or "").strip()
if t != MOFIN_TOKEN:
return jsonify({"ok": False, "error": "unauthorized: missing or invalid token"}), 401
return None # 禁静态缓存:前端迭代频繁,防浏览器旧版残留
return None
DATA_DIR = Path(__file__).parent / "data"
UPLOAD_DIR = Path(__file__).parent / "uploads"