From e3f9a8a81f3a4a244ffc5ec3f1e6f3b7128790fa Mon Sep 17 00:00:00 2001 From: Renato Rosa Date: Wed, 19 Aug 2026 22:58:01 -0300 Subject: [PATCH] Atualizar app/app.py --- app/app.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/app.py b/app/app.py index a6552e5..e774b0c 100644 --- a/app/app.py +++ b/app/app.py @@ -775,10 +775,9 @@ def export_md(cid): return Response(md, mimetype="text/markdown") - -@app.route("/api/file/") +@app.route("/api/file//") @login_required -def get_file(file_id): +def get_file(file_id, filename): email = session["user"]["email"] if app.config["AUTH_MODE"] == "oauth" else session["db_user"]["email"] db = SessionLocal() @@ -788,10 +787,15 @@ def get_file(file_id): if not f: return jsonify({"erro": "Arquivo não encontrado."}), 404 - return send_file(f.path) - - + # Segurança: impedir que o usuário tente baixar outro nome + if filename != f.original_name: + return jsonify({"erro": "Nome de arquivo inválido."}), 400 + return send_file( + f.path, + as_attachment=True, + download_name=f.original_name + ) from weasyprint import HTML