diff --git a/main.py b/main.py index ec37f11..f5049ca 100644 --- a/main.py +++ b/main.py @@ -265,7 +265,15 @@ async def upload_text(request: Request, authorized: bool = Depends(validate_uplo raise HTTPException(status_code=413, detail="Payload too large") chunks.append(chunk) body = b"".join(chunks) - content = body.decode('utf-8', errors='ignore') + try: + content = body.decode('utf-8', errors='strict') + except UnicodeDecodeError: + log("WARNING", "upload_failed", + client_ip=client_ip, + user_agent=user_agent, + reason="invalid_utf8", + size_bytes=total) + raise HTTPException(status_code=400, detail="Invalid UTF-8 content") if not validate_content(content): log("WARNING", "upload_failed",