【发布时间】:2017-07-20 18:51:50
【问题描述】:
当我尝试访问我的登录页面时,我收到了Error: misconfigured csrf。我正在将 csurf 实现到路由器,但我只是得到响应状态码 500。
实施:
let router = require("express").Router();
let PostLoginResource = require("./../resources/PostLoginResource");
let RateLimit = require("express-rate-limit");
let csrf = require("csurf");
let csrfProtection = csrf({ cookie: true });
router.route("/login")
.get(csrfProtection, function(req, res) {
// Do some stuff
})
.post(loginLimiter, function(req, res) {
PostLoginResource(req, function(success, err) {
// Do some stuff
})
});
在 app.js 中使用此模块之前,我正在启动 session-cookie:
// Parse the request body as JSON
app.use(bodyParser.json());
// Parse the URL encoded data
app.use(bodyParser.urlencoded({extended: true}));
// Set up session-cookie
app.use(session({
secret: "secret",
resave: false,
saveUninitialized: true,
cookie: {secure: true,
httpOnly: true,
maxAge: 1000 * 60 * 60 * 24
}
}));
不过,这不起作用。谁知道问题出在哪里?
【问题讨论】:
-
该路径是否正确:./../resources/PostLoginResource?
-
是的,否则那将是错误消息,而不是 Error: misconfigured csrf
-
你确实得到了 500,这意味着内部错误。不正确的语句导致它。你在哪里需要会话对象>
标签: javascript express csrf