From 0a7f1eb2864cc2d2f71f0184f1a4543bbe34c0f8 Mon Sep 17 00:00:00 2001
From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com>
Date: Mon, 1 Apr 2024 15:52:07 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=E6=97=B6=E5=BA=8F?=
=?UTF-8?q?=E6=94=BB=E5=87=BB=E6=BC=8F=E6=B4=9E=20(#4373)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/app/service/auth.go | 7 ++++---
backend/i18n/lang/en.yaml | 3 +++
backend/i18n/lang/zh-Hant.yaml | 3 +++
backend/i18n/lang/zh.yaml | 3 +++
frontend/src/components/config-card/index.vue | 9 +++++++--
5 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/backend/app/service/auth.go b/backend/app/service/auth.go
index f309b5373..b88a7aa1d 100644
--- a/backend/app/service/auth.go
+++ b/backend/app/service/auth.go
@@ -1,6 +1,7 @@
package service
import (
+ "crypto/hmac"
"strconv"
"github.com/1Panel-dev/1Panel/backend/app/dto"
@@ -42,7 +43,7 @@ func (u *AuthService) Login(c *gin.Context, info dto.Login, entrance string) (*d
if err != nil {
return nil, constant.ErrAuth
}
- if info.Password != pass || nameSetting.Value != info.Name {
+ if !hmac.Equal([]byte(info.Password), []byte(pass)) || nameSetting.Value != info.Name {
return nil, constant.ErrAuth
}
entranceSetting, err := settingRepo.Get(settingRepo.WithByKey("SecurityEntrance"))
@@ -78,7 +79,7 @@ func (u *AuthService) MFALogin(c *gin.Context, info dto.MFALogin, entrance strin
if err != nil {
return nil, err
}
- if info.Password != pass || nameSetting.Value != info.Name {
+ if !hmac.Equal([]byte(info.Password), []byte(pass)) || nameSetting.Value != info.Name {
return nil, constant.ErrAuth
}
entranceSetting, err := settingRepo.Get(settingRepo.WithByKey("SecurityEntrance"))
@@ -168,7 +169,7 @@ func (u *AuthService) VerifyCode(code string) (bool, error) {
if err != nil {
return false, err
}
- return setting.Value == code, nil
+ return hmac.Equal([]byte(setting.Value), []byte(code)), nil
}
func (u *AuthService) CheckIsSafety(code string) (string, error) {
diff --git a/backend/i18n/lang/en.yaml b/backend/i18n/lang/en.yaml
index 0c32552d3..aa8702936 100644
--- a/backend/i18n/lang/en.yaml
+++ b/backend/i18n/lang/en.yaml
@@ -172,6 +172,9 @@ ErrScope: "Modification of this configuration is not supported"
ErrStateChange: "State modification failed"
ErrRuleExist: "Rule is Exist"
ErrRuleNotExist: "Rule is not Exist"
+ErrParseIP: "IP format error"
+ErrDefaultIP: "default is a reserved name, please change it to another name"
+ErrGroupInUse: "The IP group is used by the black/white list and cannot be deleted"
#license
ErrLicense: "License format error, {{ .err }}, please re-import!"
diff --git a/backend/i18n/lang/zh-Hant.yaml b/backend/i18n/lang/zh-Hant.yaml
index 04247f953..81f6ba0a1 100644
--- a/backend/i18n/lang/zh-Hant.yaml
+++ b/backend/i18n/lang/zh-Hant.yaml
@@ -173,6 +173,9 @@ ErrScope: "不支援修改此配置"
ErrStateChange: "狀態修改失敗"
ErrRuleExist: "規則名稱已存在"
ErrRuleNotExist: "規則不存在"
+ErrParseIP: "IP 格式錯誤"
+ErrDefaultIP: "default 為保留名稱,請更換其他名稱"
+ErrGroupInUse: "IP 群組被黑/白名單使用,無法刪除"
#license
ErrLicense: "License 格式錯誤,{{ .err }},請重新匯入!"
diff --git a/backend/i18n/lang/zh.yaml b/backend/i18n/lang/zh.yaml
index b7e056c6a..4d66a21d2 100644
--- a/backend/i18n/lang/zh.yaml
+++ b/backend/i18n/lang/zh.yaml
@@ -172,6 +172,9 @@ ErrScope: "不支持修改此配置"
ErrStateChange: "状态修改失败"
ErrRuleExist: "规则名称已存在"
ErrRuleNotExist: "规则不存在"
+ErrParseIP: "IP 格式错误"
+ErrDefaultIP: "default 为保留名称,请更换其他名称"
+ErrGroupInUse: "IP 组被黑/白名单使用,无法删除"
#license
ErrLicense: "License 格式错误,{{ .err }},请重新导入!"
diff --git a/frontend/src/components/config-card/index.vue b/frontend/src/components/config-card/index.vue
index 3a347dd61..fbab8e014 100644
--- a/frontend/src/components/config-card/index.vue
+++ b/frontend/src/components/config-card/index.vue
@@ -9,7 +9,9 @@
{{ header }}
-