bug fixed
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
/node_modules/
|
||||
/logs/
|
||||
conf.json
|
||||
.env
|
||||
|
||||
@@ -20,6 +20,11 @@ class APP {
|
||||
}
|
||||
|
||||
setupMiddleware() {
|
||||
// 服务在 nginx 之后,需信任代理头才能拿到真实客户端 IP
|
||||
// (否则 ctx.ip 恒为 127.0.0.1,限流会变成全站共享一个桶)
|
||||
this.app.proxy = true;
|
||||
this.app.proxyIpHeader = "X-Real-IP";
|
||||
|
||||
this.app.use(cors());
|
||||
this.app.use(bodyParser());
|
||||
|
||||
|
||||
+4
-11
@@ -241,17 +241,10 @@ class HandlerUser {
|
||||
return ResponseUtil.success(ctx, { user: sanitizeUser(ctx.state.user) }, "获取用户信息成功");
|
||||
}
|
||||
|
||||
// 兼容:通过 userId 查询(脱敏响应,不含任何安全凭证)
|
||||
const { userId } = ctx.request.body || {};
|
||||
if (userId) {
|
||||
const user = await DBModel.User.findOne({ _id: userId });
|
||||
if (!user) {
|
||||
return ResponseUtil.notFound(ctx, "用户不存在");
|
||||
}
|
||||
return ResponseUtil.success(ctx, { user: sanitizeUser(user) }, "获取用户信息成功");
|
||||
}
|
||||
|
||||
return ResponseUtil.badRequest(ctx, "缺少 token 或 userId");
|
||||
// 不再支持「凭 userId 明文查询」:用户ID不是凭证,
|
||||
// 任何人都可能通过日志/链接拿到他人 userId,若可据此读取资料即构成越权。
|
||||
// 一律要求携带有效 token,身份以 token 为准。
|
||||
return ResponseUtil.badRequest(ctx, "缺少 token");
|
||||
}
|
||||
|
||||
// 更新用户信息
|
||||
|
||||
Reference in New Issue
Block a user