我已经建立了自己的csrf函数,直到开始进行此更改之前,它就可以正常工作:
app.use("/", express.static("public"));
方法
问题在于令牌没有被附加到任何请求上。
试图检查req.url和提供的URL是否相同。我待会再告诉你。
这是csrf函数:
// Attach CSRF token on each request.
app.use(
attachCsrfToken(
"/",
"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();
};
}
如果我如上所述记录它,我将得到:
/style.css /
/favicon.ico /
当我实际请求localhost:5000/
并且结果应该是/ /
我实现中间件错了吗?还是另一个问题?