- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在设置 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/
我有一个单独的前端和后端站点,我正试图让前端的用户重置他们的密码。我已经为他们创建了一个端点,当通过后端站点访问时它可以工作。但是当我尝试通过 Insomnia 访问端点时,我得到: Forbidde
我是一名优秀的程序员,十分优秀!