Приложение моего V4 не дает мне правильного значения сеансов, а просто возвращает undefined
. Мое приложение было структурировано и построено с использованием экспресс-генератора, и это мой файл app.js.Мои экспресс-ответы сохраняются как неопределенные в Express v4
var express = require('express'),
path = require('path'),
bodyParser = require('body-parser'),
routes = require('./routes/index'),
app = express(),
compression = require('compression'),
session = require('express-session');
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.set('view cache', true);
app.enable('trust proxy');
app.use(session({
secret: "Share3na Network!195",
resave: true,
saveUninitialized: true,
cookie: { secure: true, httpOnly: true }
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(compression());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
И эти маршруты берут значение сеанса и отправляют его обратно.
router.get('/getmask', function(req,res){
res.send(req.session.mask);
});
//GET the mask during event body load
router.get('/sendmask', function(req,res){
req.session.mask = striptags(emojiStrip(req.query.m));
});
В другом маршруте, когда я добавить IP-адрес на запросы со значением сеанса: req.ip() + req.session.mask
, что получает сохраненный в базе данных „123.456.789undefined“
Хотя рекомендуется использовать «secure: true», для него требуется веб-сайт с поддержкой https, т. Е. HTTPS необходим для безопасного куки-файла. Если безопасно установлено, и вы получаете доступ к своему сайту через HTTP, cookie не будет установлен. – dNitro
Я думаю, вы должны использовать модуль cookie-parser https://github.com/expressjs/cookie-parser –
@ dNitro Я знаю, мое веб-приложение уже на HTTPS –