我正在使用 this koajs session 模块。
我检查了源代码,但我真的无法理解。
我想知道它保存 session 数据的位置,因为我没有看到创建的文件,并且当服务器重新启动时, session 数据仍然存在。
我感觉它将数据保存在 cookie 本身中,然后我看到它创建了两个带有乱码的 cookie。
现在,它是在 cookie 本身中编码数据(不安全),还是以我还不理解的方式将数据保存在服务器上?
最佳答案
根据this section of code在 koa-session 库中, session 数据被编码为 JSON,然后是 base64,然后附加到一个 cookie。
Session.prototype.save = function(){
var ctx = this._ctx;
var json = this.toJSON();
var opts = ctx.sessionOptions;
var key = ctx.sessionKey;
// set expire into cookie value
var maxAge = opts.maxAge || ONE_DAY;
json._expire = maxAge + Date.now();
json._maxAge = maxAge;
json = encode(json);
debug('save %s', json);
ctx.cookies.set(key, json, opts); // <-- this is where the session is being saved
};
关于session - koajs session - session 存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29691594/