session - koajs session - session 存储在哪里?

标签 session koa

我正在使用 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/

相关文章:

node.js - 将图像文件上传到 s3 存储桶效果不佳。怎么修?

node.js - NGINX : How to have sticky session with least connected

php - 如何将 PHP 中的 session 数组变量存储在 MySQL 数据库中?

codeigniter - 销毁 Code Igniter 中的特定 session

java - 为什么 Tomcat 不能正确检索我的 session ?

php - Zend Framework session 丢失

Asp.net Core TempData 生命周期和搜索词

node.js - Express 之上的 Mount Koajs 应用程序

node.js - 在 Azure Web 应用程序上运行 Node.js

node.js - Koa 和 Express 4.0 有什么区别?