我是新手。我使用的浏览器插件可以访问我的节点服务器,并且需要一个csrf令牌。
我没有产生任何东西:
app.use(express.csrf());
app.dynamicHelpers({
token: function(req, res) {
return req.session._csrf;
}
});
...然后我在我的玉文件中引用令牌
input(type="hidden", token=token)
我不知道应该生成什么令牌-猜测连接。无论如何,我看不到任何价值。
试过了
console.log(token)以及//未定义
我提出了问题here并使其起作用,但现在不是在升级到节点.67和更新模块之后。
How do I generate CSRF tokens in Express?
对一个靠运气的家伙有帮助吗? :)
最佳答案
确保app.use(express.csrf());
在您的app.configure()
中的顺序正确。它需要遵循express.session()
,express.cookieParser()
,app.bodyParser()
,app.query()
以及将提交的CSRF令牌解析为req
对象的任何其他内容。
关于node.js - 在Express中生成csrf?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8915682/