【发布时间】:2012-02-21 09:32:26
【问题描述】:
正如标题中所说,我正在寻找express.js 或connect 的中间件,这将使我能够发出csrf-safe 请求。
csrf-middleware in connect 为每个请求创建一个新令牌,这使得 POST-requests over Ajax 并不容易。
【问题讨论】:
标签: node.js express connect csrf
正如标题中所说,我正在寻找express.js 或connect 的中间件,这将使我能够发出csrf-safe 请求。
csrf-middleware in connect 为每个请求创建一个新令牌,这使得 POST-requests over Ajax 并不容易。
【问题讨论】:
标签: node.js express connect csrf
如果您只想为每个会话而不是每个请求或其他东西创建一个新的 CSRF 令牌,您总是可以利用 Connect 的 csrf 中间件允许您传入自己的令牌生成函数这一事实。例如:
connect.csrf(function (req) {
if (!req.session['myCsrfToken']) {
req.session['myCsrfToken'] = ... // generate token somehow
}
return req.session['myCsrfToken'];
});
【讨论】:
crypto 模块生成其令牌。您可以在github.com/senchalabs/connect/blob/master/lib/middleware/… 看到实现(查找exports.uid)。您可以使用require('connect').utils.uid(24) 执行与 connect-csrf 模块相同的操作。