From 26b5bfb9140c7cc3f7f88fe1d037cc971d422cb9 Mon Sep 17 00:00:00 2001 From: keven1024 Date: Fri, 16 May 2025 08:44:33 +0800 Subject: [PATCH] fix(backend): add validation for download count in VaildateShare to prevent insufficient downloads --- backend/internal/controllers/download.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/internal/controllers/download.go b/backend/internal/controllers/download.go index 64a4bfb..014b9c6 100644 --- a/backend/internal/controllers/download.go +++ b/backend/internal/controllers/download.go @@ -76,6 +76,10 @@ func VaildateShare(c echo.Context) error { if shareInfo.Password != "" && shareInfo.Password != r.Password { return utils.HTTPErrorHandler(c, errors.New("分享密码错误")) } + // 如果下载次数为0,则设置为-1 防止空值问题 + if shareInfo.ViewNum < 1 { + return utils.HTTPErrorHandler(c, errors.New("下载次数不足")) + } token := jwt.NewWithClaims(jwt.SigningMethodHS256, DownloadShareClaims{ ShareId: r.ShareId, RegisteredClaims: jwt.RegisteredClaims{