我正在使用 stripe.js 进行条带付款。我需要设置一个回调 wenhook 来接收来自条带的请求。
由于 webhook 是按条纹发布的 - 我已将其标记为csrf_excempt
.
- 提出这种观点有什么风险
csrf_excempt
吗? - 如果我应该在这个视图上有 csrf 保护,我怎样才能从条带中传递和取回 csrf 令牌?
我正在使用 stripe.js 进行条带付款。我需要设置一个回调 wenhook 来接收来自条带的请求。
由于 webhook 是按条纹发布的 - 我已将其标记为csrf_excempt
.
csrf_excempt
吗?那是行不通的。绝对禁用来自 Stripe 的回调的 csrf。
即使你..
csrf_token
条纹此时令牌将无关紧要,因为令牌仅适用于您当前的浏览器会话(通常是 cookie)。
CSRF 令牌在每次请求时生成并发送到浏览器以存储在 cookie 中。Stripe 不会有这个 cookie,因此你会得到一个 CSRF 错误。
正如公认的答案所说,没有办法将 CSRF 令牌与条带回调一起使用。
Stripe Webhook 文档中推荐的安全方法是使用传入 Webhook 的 ID 将请求发送回 Stripe,以获取完整的事件详细信息。
您可能还想考虑将来只使用django-stripe-payments。