【问题标题】:Ajax-Compatible middleware for express/connect用于 express/connect 的 Ajax 兼容中间件
【发布时间】:2012-02-21 09:32:26
【问题描述】:

正如标题中所说,我正在寻找express.jsconnect 的中间件,这将使我能够发出csrf-safe 请求。

csrf-middleware in connect 为每个请求创建一个新令牌,这使得 POST-requests over Ajax 并不容易。

【问题讨论】:

    标签: node.js express connect csrf


    【解决方案1】:

    如果您只想为每个会话而不是每个请求或其他东西创建一个新的 CSRF 令牌,您总是可以利用 Connect 的 csrf 中间件允许您传入自己的令牌生成函数这一事实。例如:

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

    【讨论】:

    • 非常好,谢谢。您是否有机会获得有关通过节点生成安全令牌的文章的链接?
    • Connect 使用crypto 模块生成其令牌。您可以在github.com/senchalabs/connect/blob/master/lib/middleware/… 看到实现(查找exports.uid)。您可以使用require('connect').utils.uid(24) 执行与 connect-csrf 模块相同的操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2013-08-22
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    相关资源
    最近更新 更多