浏览代码

Fix cookie defect

isundil 1 年之前
父节点
当前提交
d781cf5b9e
共有 2 个文件被更改,包括 8 次插入9 次删除
  1. 8 8
      src/routerUtils.js
  2. 0 1
      src/security.js

+ 8 - 8
src/routerUtils.js

@@ -27,13 +27,7 @@ RouterUtils.prototype.requireLogin =function(req, res) {
 };
 
 RouterUtils.prototype.onApiRequest = function(req, res) {
-    this.onRequest(req);
-    req.sessionObj = Security.getSessionObj(req.cookies);
-    if (req.sessionObj === null) {
-        const log = Security.createSession(req);
-        res.setHeader("Set-Cookie", Security.SESSION_COOKIE +'='+log.key);
-        req.sessionObj = log.data;
-    }
+    this.onRequest(req, res);
 };
 
 RouterUtils.prototype.onBadRequest =function(res) {
@@ -70,8 +64,14 @@ RouterUtils.prototype.prepareCookie = function(req) {
     let arr = ((req.headers?.cookie || "").split(';').map(i => i.split('=', 2))).forEach(i => { req.cookies[i[0].trim()] = decodeURIComponent(i[1]).trim();});
 }
 
-RouterUtils.prototype.onRequest = function(req) {
+RouterUtils.prototype.onRequest = function(req, res) {
     this.prepareCookie(req);
+    req.sessionObj = Security.getSessionObj(req.cookies);
+    if (!req.sessionObj) {
+        const log = Security.createSession(req);
+        res.setHeader("Set-Cookie", `${Security.SESSION_COOKIE}=${log.key};Path=/`);
+        req.sessionObj = log.data;
+    }
 }
 
 RouterUtils.prototype.readPostBody = function(req, res) {

+ 0 - 1
src/security.js

@@ -43,7 +43,6 @@ module.exports = {
         if (!sessionKey)
             return;
         delete loggedCache[req.cookies[SESSION_COOKIE]];
-        console.log(loggedCache);
     },
     createSession: req => {
         const now = Date.now();