diff --git a/server.py b/server.py index 278d6acb..615e5c0b 100644 --- a/server.py +++ b/server.py @@ -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"