Quellcode durchsuchen

fix: 添加会话验证逻辑防止未授权用户查询

在getUser和selectUser路由中添加会话验证,只有当会话中的userId与请求中的userid匹配时才允许查询用户信息,否则返回空数组以保护用户数据安全
lsc vor 1 Woche
Ursprung
Commit
e47712c9df
1 geänderte Dateien mit 20 neuen und 2 gelöschten Zeilen
  1. 20 2
      pbl.js

+ 20 - 2
pbl.js

@@ -867,7 +867,16 @@ router.route("/getUser").all((req, res, next) => {
         // .hk和.com域名直接查询,不判断session
         getmysql(req, res, "selectUserDeail", json["uid"]);
     } else {
-        res.end(JSON.stringify([]));
+         if (req.session && req.session.userId) {
+            if (req.session.userId == json["userid"]) {
+                getmysql(req, res, "selectUser", json["userid"]);
+            } else {
+                // 不匹配则返回空数组
+                res.end(JSON.stringify([]));
+            }
+        } else {
+            res.end(JSON.stringify([]));
+        }
     }
 });
 
@@ -4616,7 +4625,16 @@ router.route("/selectUser").all((req, res, next) => {
         // .hk和.com域名直接查询,不判断session
         getmysql(req, res, "selectUser", json["userid"]);
     } else {
-        res.end(JSON.stringify([]));
+         if (req.session && req.session.userId) {
+            if (req.session.userId == json["userid"]) {
+                getmysql(req, res, "selectUser", json["userid"]);
+            } else {
+                // 不匹配则返回空数组
+                res.end(JSON.stringify([]));
+            }
+        } else {
+            res.end(JSON.stringify([]));
+        }
     }
 });