From f24f95f08259654811671d6f1afa0c4bdc7268cf Mon Sep 17 00:00:00 2001 From: truthhun <1272881215@qq.com> Date: Thu, 13 Jul 2023 10:28:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=98=AF=E9=82=AE=E7=AE=B1=E5=92=8C=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biz/user.go | 10 ++++++++++ util/util.go | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/biz/user.go b/biz/user.go index 70aa5ce..47a5243 100644 --- a/biz/user.go +++ b/biz/user.go @@ -63,6 +63,11 @@ func (s *UserAPIService) Register(ctx context.Context, req *pb.RegisterAndLoginR return nil, status.Errorf(codes.InvalidArgument, "邮箱格式不正确") } + req.Username = strings.TrimSpace(req.Username) + if util.IsValidEmail(req.Username) || util.IsValidMobile(req.Username) { + return nil, status.Errorf(codes.InvalidArgument, "出于隐私保护,用户名不能是邮箱或手机号码") + } + cfg := s.dbModel.GetConfigOfSecurity( model.ConfigSecurityEnableCaptchaRegister, model.ConfigSecurityEnableRegister, @@ -502,6 +507,11 @@ func (s *UserAPIService) AddUser(ctx context.Context, req *pb.SetUserRequest) (* return nil, err } + req.Username = strings.TrimSpace(req.Username) + if util.IsValidEmail(req.Username) || util.IsValidMobile(req.Username) { + return nil, status.Errorf(codes.InvalidArgument, "出于隐私保护,用户名不能是邮箱或手机号码") + } + err = validate.ValidateStruct(req, s.getValidFieldMap()) if err != nil { return nil, status.Errorf(codes.InvalidArgument, err.Error()) diff --git a/util/util.go b/util/util.go index deb69bb..c715185 100644 --- a/util/util.go +++ b/util/util.go @@ -176,6 +176,13 @@ func IsValidEmail(email string) (yes bool) { return reg.MatchString(email) } +// IsValidMobile 验证手机号格式 +func IsValidMobile(mobile string) (yes bool) { + pattern := `^1[3456789]\d{9}$` + reg := regexp.MustCompile(pattern) + return reg.MatchString(mobile) +} + // CheckCommandExists 验证命令是否存在 func CheckCommandExists(command string) error { _, err := exec.LookPath(command)