javascript - sails.js 中的某些 URL 可以免除 CSRF 吗?

标签 javascript node.js sails.js csrf stripe-payments

我正在设置 Stripe 以使用我的 sails.js 服务器,为了使用 Stripe 的 webhook,我需要为我提供给 Stripe 的 URL 禁用 CSRF。

是否可以在 sails.js 中使某些 URL 免于 CSRF POST 要求?我能找到的 CSRF 的唯一配置是全局打开它,并查看 csrf 钩子(Hook) ( https://github.com/balderdashy/sails/blob/master/lib/hooks/csrf/index.js ) 的源代码,看起来如果我尝试提供自定义对象,它就会被全局设置替换无论如何。

谢谢

最佳答案

因此,在进一步阅读问题中链接的 csrf 钩子(Hook)后,我设法解决了这个问题。

v0.11.0 开始:

如果您尝试在 csrf.js 配置文件中为对象提供设置, Hook 会简单地用所有设置的“默认打开”覆盖它们。 csrf 对象最终看起来像这样

{
  grantTokenViaAjax: true,
  protectionEnabled: true,
  origin: '-',
  routesDisabled: '-'
}

为了向对象添加路由豁免,您需要在设置完成后进行,所以我在 config/bootstrap.js 中进行了此操作。所以要添加路由“http://yourhost.com/webhooks/testhook/”:

// In bootstrap.js
sails.config.csrf.routesDisabled = "/webhooks/testhook";

如果要添加多个钩子(Hook),将它们添加到同一个字符串中,以逗号分隔:

// In bootstrap.js
sails.config.csrf.routesDisabled = "/webhooks/testhook,/webhooks/anotherhook";

关于javascript - sails.js 中的某些 URL 可以免除 CSRF 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28847967/

相关文章:

javascript - extjs无法正确显示

node.js - 实验室返回错误无方法 'experiment'

javascript - 语法错误 : Unexpected Identifier (Generators in ES6)

javascript - 在 Node.js 中获取 Excel 工作表单元格的计算值

node.js - 如何从现有模型创建新的 Sails 模型

javascript - 如何使用 JavaScript 检测鼠标右键单击 + 粘贴?

用于移动捏合/缩放操作的 javascript 事件

javascript - 如何设置 JavaScript cookie 在 10 年后过期?

javascript - Mongoose:向现有对象添加更多项目

javascript - 如何使用 sails.js 和 socket.io 进行在线游戏服务器端