fix v12
This commit is contained in:
@@ -16,6 +16,7 @@ import (
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/tamakyi/TamaBox/internal/conf"
|
||||
"github.com/tamakyi/TamaBox/internal/db"
|
||||
"github.com/tamakyi/TamaBox/internal/i18n"
|
||||
"github.com/tamakyi/TamaBox/internal/security/censor"
|
||||
)
|
||||
@@ -35,6 +36,24 @@ func StrictnessFor(raw string) censor.Strictness {
|
||||
return censor.ParseStrictness(conf.Security.DefaultModerationStrictness)
|
||||
}
|
||||
|
||||
// EffectiveStrictness 返回账号**实际生效**的审核档位,是内容审核应当使用的入口。
|
||||
//
|
||||
// 处于处置期(L1–L4)的账号一律强制 strict,忽略账号自身设置:
|
||||
// 限制期内允许保留 lax / standard,等于给了箱主一个免审通道 —— 一边被限制、
|
||||
// 一边把门槛调到最低,是明显可被利用的组合。
|
||||
//
|
||||
// 处置查询失败时**回退账号自身设置**,而不是"失败即强制 strict":
|
||||
// DB 抖动时反向兜底会让全站突然加严,正常用户的提交被大面积误拒,
|
||||
// 影响面远大于「漏放一个受控账号」。
|
||||
func EffectiveStrictness(ctx context.Context, userID uint, raw string) censor.Strictness {
|
||||
if userID != 0 {
|
||||
if level, _, err := db.Restrictions.ActiveLevel(ctx, userID); err == nil && level != "" {
|
||||
return censor.StrictnessStrict
|
||||
}
|
||||
}
|
||||
return StrictnessFor(raw)
|
||||
}
|
||||
|
||||
// Check 执行一次内容审核,并按箱主严格度裁决是否放行。
|
||||
//
|
||||
// 这是提问 / 投票 / 私聊三类场景**唯一**应当使用的审核入口。
|
||||
|
||||
Reference in New Issue
Block a user