添加了更严格的邮箱格式检查
This commit is contained in:
@@ -117,6 +117,16 @@ func (h *AuthHandler) SendVerificationCode(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 验证邮箱格式
|
||||
if !isValidEmail(req.Email) {
|
||||
h.logger.Warn("发送验证码失败:邮箱格式错误",
|
||||
zap.String("email", req.Email),
|
||||
)
|
||||
RespondBadRequest(c, "邮箱格式错误", nil)
|
||||
return
|
||||
}
|
||||
|
||||
// 调用服务发送验证码
|
||||
if err := h.container.VerificationService.SendCode(c.Request.Context(), req.Email, req.Type); err != nil {
|
||||
h.logger.Error("发送验证码失败",
|
||||
zap.String("email", req.Email),
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"carrotskin/internal/model"
|
||||
"carrotskin/internal/types"
|
||||
"net/http"
|
||||
"regexp"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -227,3 +228,14 @@ func RespondWithError(c *gin.Context, err error) {
|
||||
// 默认返回500错误
|
||||
RespondServerError(c, err.Error(), err)
|
||||
}
|
||||
|
||||
// isValidEmail 验证邮箱格式
|
||||
func isValidEmail(email string) bool {
|
||||
if email == "" {
|
||||
return false
|
||||
}
|
||||
// 更严格的邮箱格式验证
|
||||
emailRegex := `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`
|
||||
matched, _ := regexp.MatchString(emailRegex, email)
|
||||
return matched
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user