gpt4 book ai didi

node.js - 快速 session 中的 req.session 不持久

转载 作者:IT老高 更新时间:2023-10-28 23:23:00 29 4
gpt4 key购买 nike

我有以下代码:

var express = require('express');
var cookieParser = require('cookie-parser');
var http = require('http')
var app = express();
app.use(cookieParser());
var session = require('express-session');
app.use(session({
resave: false,
saveUninitialized: true,
secret: 'sdlfjljrowuroweu',
cookie: { secure: true }
}));

app.get('/test', test);
function test(req, res) {
var sess = req.session;
console.log('before', sess);
if (sess.views) {
sess.views++
req.session.save();
res.setHeader('Content-Type', 'text/html')
res.write('<p>views: ' + sess.views + '</p>')
res.write('<p>expires in: ' + (sess.cookie.maxAge / 1000) + 's</p>')
res.end();
} else {
sess.views = 1;
req.session.save();
res.end('welcome to the session demo. refresh!')
}
console.log('after', sess);
return;
}

var server = http.createServer(app);
server.listen(8181);

然后重新加载页面,我只是不断收到 View 计数为 0 的消息。

检查控制台,每次都是这样的输出:

before { cookie: 
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true,
secure: true } }
after { cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true,
secure: true },
views: 1 }

所以它似乎根本没有节省

最佳答案

cookie: { secure: true } 更改为 cookie: { secure: false }

使用 secure 标志意味着 cookie 将仅设置在 Https 上。

关于node.js - 快速 session 中的 req.session 不持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066462/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com