feat: Reduce password strength verification when using on the intranet (#966)

This commit is contained in:
jeessy2
2024-01-10 14:13:39 +08:00
committed by GitHub
parent 76c0becb4c
commit 8b508c6f0a
2 changed files with 12 additions and 13 deletions

View File

@ -17,11 +17,6 @@ const (
digitsChars = `0123456789`
)
// validate 检查密码强度是否大于最低要求50。如果不是则返回错误并说明如何加强密码。向客户端显示此错误是安全的。
func validate(password string) error {
return validatePassword(password, 50)
}
// validatePassword 在密码大于或等于 minEntropy 时返回 nil。如果不是则返回错误。
// 这解释了如何加强密码。向客户端显示此错误是安全的。
//

View File

@ -50,14 +50,6 @@ func checkAndSave(request *http.Request) string {
}
// 如果密码不为空则检查是否够强
if passwordNew != "" {
err = validate(passwordNew)
if err != nil {
return err.Error()
}
}
conf.NotAllowWanAccess = request.FormValue("NotAllowWanAccess") == "on"
conf.Username = usernameNew
conf.Password = passwordNew
@ -70,6 +62,18 @@ func checkAndSave(request *http.Request) string {
return "启用外网访问, 必须输入登录用户名/密码"
}
// 如果密码不为空则检查是否够强, 内/外网要求强度不同
if passwordNew != "" {
var minEntropyBits float64 = 50
if conf.NotAllowWanAccess {
minEntropyBits = 25
}
err = validatePassword(passwordNew, minEntropyBits)
if err != nil {
return err.Error()
}
}
dnsConfFromJS := []dnsConf4JS{}
err = json.Unmarshal([]byte(request.FormValue("DnsConf")), &dnsConfFromJS)
if err != nil {