mirror of
https://github.com/RuoJi6/ARTEX.git
synced 2026-10-27 17:03:49 +08:00
fix(security): jwt.key 移出可浏览工作区(存项目根,自动从 data 迁移)
工作空间文件管理器的根目录是 dataDir(s.m.dir),而 jwt.key 原来就存在 dataDir/jwt.key —— 会被列出/下载(签名密钥泄露→可伪造 token)/删除(重启重生 成→全体登出)。 - loadOrCreateJWTKey(keyDir, dataDir):密钥改存 keyDir/jwt.key;若旧 data/jwt.key 仍在,启动时迁移(保留密钥不登出、删旧文件从工作区消失) - New() 增加 keyDir 参数;生产传 config.BaseDir()(项目根),在 dataDir 之外, wsResolve 的路径限定使其不可列/读/下载/删 - 测试传临时目录,隔离且不触发迁移;.gitignore 忽略根目录 /jwt.key 注:项目根在 Docker 里不持久化,容器重建会重新生成密钥、需重新登录(单人系统可接受)。
This commit is contained in:
1 parent
1bc629ce4c
commit
289cf6a24f
6 files changed
+28
-9
No files matched your search
+1
-1
@@ -80,7 +80,7 @@ func main() {
|
||||
skillDir = abs
|
||||
}
|
||||
log.Printf("[config] skill 目录: %s", skillDir)
|
||||
srv := server.New(ctx, mgr, skillDir, *dataDir)
|
||||
srv := server.New(ctx, mgr, skillDir, *dataDir, config.BaseDir())
|
||||
httpSrv := &http.Server{
|
||||
Addr: *addr,
|
||||
Handler: srv.Handler(),
|
||||
|
||||
Reference in new issue
Block a user