fix anwser token and database issus
This commit is contained in:
+8
-13
@@ -12,7 +12,7 @@ import (
|
||||
"gopkg.in/ini.v1"
|
||||
)
|
||||
|
||||
// File is the configuration object.
|
||||
// File 是解析后的配置对象。
|
||||
var File *ini.File
|
||||
|
||||
func Init() error {
|
||||
@@ -110,19 +110,14 @@ func Init() error {
|
||||
}
|
||||
|
||||
// validateTextCensorSource 校验文本审核通道([security] text_censor_source)与凭据的搭配。
|
||||
// 抽成纯函数(只依赖入参、不读全局)以便单测覆盖,也让 Init 保持轻薄。
|
||||
//
|
||||
// 单独抽成纯函数(只依赖入参、不读全局)是为了能直接被单测覆盖,也让 Init 保持轻薄。
|
||||
//
|
||||
// 规则:
|
||||
// - 审核整体关闭(enabled=false)→ 不校验,此时不需要任何凭据。
|
||||
// - 留空 / auto → 通过。auto 是历史默认(七牛优先、阿里云兜底),两者都没配凭据时
|
||||
// 维持既有行为(运行期 fail-closed),不阻断启动 —— 否则 app.sample.ini 原样拷贝
|
||||
// (enable_text_censor = true 且凭据留空)将无法启动,破坏开箱流程。
|
||||
// - 显式选 qiniu / aliyun → 必须配齐该通道的凭据,否则启动即失败。
|
||||
// 理由:缺凭据时运行期审核必然失败,而审核失败是 fail-closed(拒绝提交),
|
||||
// 会让发布/私信整站不可用,且现象隐蔽(只在日志可见)——不如启动就报错。
|
||||
// - 其它取值 → 直接报错,不做静默回退:拼写错误若被悄悄当成 auto,
|
||||
// 运维会以为「已经只用七牛了」,实际仍在走双通道。
|
||||
// - 审核整体关闭(enabled=false)→ 不校验,不需要任何凭据。
|
||||
// - 留空 / auto → 通过。auto 是历史默认(七牛优先、阿里云兜底),两者都无凭据时
|
||||
// 维持既有运行期 fail-closed 行为,不阻断启动(否则 app.sample.ini 原样拷贝无法启动)。
|
||||
// - 显式选 qiniu / aliyun → 必须配齐该通道凭据,否则启动即失败:缺凭据时运行期审核必失败,
|
||||
// 而审核失败是 fail-closed(拒绝提交),会让发布/私信整站不可用且现象隐蔽。
|
||||
// - 其它取值 → 直接报错,不做静默回退:拼写错误若被当成 auto,运维会误以为已切通道。
|
||||
func validateTextCensorSource(enabled bool, source, qiniuKey, qiniuSecret, aliyunKey, aliyunSecret string) error {
|
||||
if !enabled {
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user