Кажется, я не могу найти способ установить безопасный файл cookie в фреймворке expressjs. Есть ли возможность сделать это где-нибудь?
Безопасный сеансовый файл Expressjs
Ответ 1
На основе документации попробуйте следующее:
res.cookie('rememberme', 'yes', { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true });
Использование res.cookie(name, val[, options])
устанавливает заданное имя куков на val
, с возможностью httpOnly
, secure
, expires
, и т.д. path
опционных по умолчанию в приложениях basepath
настройку, которые, как правило, "/"
.
Дополнительную информацию см. В документации для res.cookie
.
Ответ 2
Если вы находитесь за прокси-сервером, вам также необходимо убедиться, что он отправляет заголовок X-Forwarded-Proto
и вы задаете опцию прокси-сервера:
app.use(express.session({
proxy: true,
secret: 'test',
cookie: {
secure: true
}
}));
Кроме того, вы можете сказать, что Express доверяет доверенному серверу по всему миру:
app.set('trust proxy', 1)