Node.js 适用于express/connect的Ajax兼容中间件

Node.js 适用于express/connect的Ajax兼容中间件,node.js,express,connect,csrf,Node.js,Express,Connect,Csrf,正如它在标题中所说,我正在寻找一个中间件,用于或将使我能够发出csrf-安全请求 每个请求创建一个新的令牌,这使得通过Ajax的POST-请求变得非常不容易。如果您只想在每个会话而不是每个请求或其他情况下创建一个新的CSRF令牌,那么您可以始终利用Connect的CSRF中间件允许您传递自己的令牌生成功能这一事实。例如: connect.csrf(function (req) { if (!req.session['myCsrfToken']) { req.session['myCs

正如它在标题中所说,我正在寻找一个中间件,用于或将使我能够发出
csrf
-安全请求


每个请求创建一个新的令牌,这使得通过Ajax的
POST
-请求变得非常不容易。

如果您只想在每个会话而不是每个请求或其他情况下创建一个新的CSRF令牌,那么您可以始终利用Connect的CSRF中间件允许您传递自己的令牌生成功能这一事实。例如:

connect.csrf(function (req) {
  if (!req.session['myCsrfToken']) {
    req.session['myCsrfToken'] = ... // generate token somehow
  }

  return req.session['myCsrfToken'];
});

如果您只想在每个会话而不是每个请求或其他情况下创建一个新的CSRF令牌,那么您可以始终利用这样一个事实,即Connect的CSRF中间件允许您传递自己的令牌生成功能。例如:

connect.csrf(function (req) {
  if (!req.session['myCsrfToken']) {
    req.session['myCsrfToken'] = ... // generate token somehow
  }

  return req.session['myCsrfToken'];
});

非常好,谢谢。您是否有关于通过节点生成安全令牌的文章的链接?Connect使用
crypto
模块生成其令牌。您可以在(查找
exports.uid
)上看到实现。通过使用
require('connect').utils.uid(24)
,您可以完成连接csrf模块所做的相同操作。非常好,谢谢。您是否有关于通过节点生成安全令牌的文章的链接?Connect使用
crypto
模块生成其令牌。您可以在(查找
exports.uid
)上看到实现。通过使用
require('connect').utils.uid(24)
,您可以执行与connect csrf模块相同的操作。