【发布时间】:2014-05-26 16:22:48
【问题描述】:
我有一些关于使用 CSRF 保护的问题。当我使用没有有效 csrf 令牌的“发布”路由时,我得到一个“错误:在 Object.exports.error 处禁止 ....”,是否可以将没有有效令牌的请求重定向到特殊路由?
这是我的代码:
app.use(express.csrf());
app.use(function (req, res, next) {
res.locals.csrftoken = req.csrfToken();
next();
});
另一个问题是,保护这个令牌的好方法是什么?将其存储在 cookie 中,而不是使用隐藏字段是否更好?还是说安全性没有区别?
form(method="post",action="/test")
input(type="hidden", name="_csrf", value="#{csrftoken}")
第三个问题是:禁用 cookie 的用户无法访问任何路由,对吗?那么我可以只对特殊路线使用保护吗?
谢谢!
【问题讨论】: