【发布时间】:2019-12-06 01:49:31
【问题描述】:
我在我的 nodejs 网络应用程序上做了一个 csrf 实现。
但是只有当我通过 /login 路由时,才会附加 csrf 令牌。
我怎样才能做到它在每条路线上实施而不会导致错误?
或其他正确实施的想法?
我不认为使用通配符 ** 会有所帮助
这是我的 csrf 代码的代码:
app.use(
attachCsrfToken(
"/login",
"csrfToken",
(Math.random() * 100000000000000000).toString()
)
);
function attachCsrfToken(url, cookie, value) {
return function(req, res, next) {
// console.log(req.url, url);
if (req.url == url) {
res.cookie(cookie, value);
}
next();
};
}
有没有更好的实现方式?
【问题讨论】:
-
你使用
csurf模块吗? -
@dimitristseggenes 没有。我复制粘贴了这个方法,并且这个方法以我不太了解的方式在函数中使用,所以我不想破坏整个应用程序。
标签: javascript node.js express cookies csrf