【发布时间】:2016-01-07 22:50:55
【问题描述】:
这让我非常头疼,CSRF cookie 工作正常,但我似乎损坏了一些东西,无法启动会话。任何帮助将不胜感激。
编辑:我忘了提一下,我使用 Nginx 作为反向代理服务器,它转发到我的 Node 服务器,该服务器使用 HTTPS 接受来自 Nginx 的所有请求,因为我听说您需要这样做才能进行安全会话。
var express = require('express'),
path = require('path'),
cookieParser = require('cookie-parser'),
session = require('cookie-session'),
csrf = require('csurf'),
bodyParser = require('body-parser');
var app = express();
app.enable('trust proxy', 1);
app.use(session({
secret: 'supersecret!',
name: 'session_id'
}));
app.use(cookieParser('supersecret!'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
【问题讨论】:
-
很难从这个 sn-p 看出问题出在哪里,但只想指出通过 cookie 发送 csrf 令牌不是最安全的做事方式,要么使用服务器端渲染csrf 令牌,或使用 json web 令牌。如果任何路由/子域不在 ssl 上,则可以利用 cookie
-
感谢您的提示,我会解决的。还有其他我可以提供的sn-ps吗?他们在 SSL 上,通过 Nginx 运行
-
我解决了这个问题,不用担心。
标签: node.js session express cookies cookie-session