nodejs的cookie疑问

比如所有的用户名都是唯一的,于是我把用户名写到cookie里去,然后根据cookie来识别用户。

首先我不知道这么做对不对。

其次这么做肯定是不安全的。所以我想是不是应该将用户名先加密然后再存到cookie中,那么在node中加密解密cookie用啥实现呢?

先谢过各位了。


手掌心
浏览 552回答 1
1回答

慕村9548890

通常是使用cookie + session的组合,怎么生成session其实你可以不用自己写,Github有现成的实现,比如expressjs/sessioncookie里就存储sessionId,这样就不会从cookie里泄漏有用信息(包括可被解密的信息),比存储用户名来说更为安全。然后使用redis来存储以sessionId为键,用户信息为值的键值对。都有现成的模块,都不用自己写大致的代码(koa框架,用到了两个模块koa-session和koa-redis)如下:const session = require('koa-generic-session');const redisStore = require('koa-redis'); // 配置好sessionapp.use(session({  store: redisStore(),  // ttl: 3600000 * 24,   // cookie: {   //   path: '/',   //   httpOnly: true,   //   maxage: null,   //   rewrite: true,   //   signed: true,   //   expires: null,   // },}));//...// 登录成功this.session.user = user;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript