[英]node.js csurf invalid csrf token
我正在使用nom的csurf模块和express。 自从过去3天以来,一切都运转良好。 现在,每次发布表单时,我都会收到无效的csrf令牌错误。 我正在使用最新版本的csurf和express。
我的app.js设置:
var csrf = require('csurf');
...
app.use(csrf());
...
app.use(function (req, res, next) {
res.locals = {
csrf: req.csrfToken(),...
我的玉模板:
form(role='form', method='post', action='/auth')
input(type='hidden', name='_csrf', value='#{csrf}')
...
input.btn.btn-success.btn-block(type='submit')
以下是我总是得到的错误:
Error: invalid csrf token
at createToken (/Users/.../.../.../.../node_modules/csurf/index.js:107:19)
at /Users/.../.../.../.../node_modules/csurf/index.js:91:7
at Object.<anonymous> (/Users/.../.../.../.../node_modules/csurf/node_modules/csrf-tokens/node_modules/uid-safe/index.js:13:7)
at Object.ondone (/Users/.../.../.../.../node_modules/newrelic/node_modules/continuation-local-storage/node_modules/async-listener/glue.js:177:31)
据我所知,在启动服务器并出现“无打开连接”错误后会出现此错误。
你试试:
在路由器中
var csrf = require('csurf');
var csrfSecured = csrf();
router.use(csrfSecured);
router.get('/auth', function(req, res, next) {
res.render('user/auth', {
...
csrfToken: req.csrfToken(),
...
}
}
在视图中:
input(type='hidden', name='_csrf', value='#{csrfToken}')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.