将csrf令牌传递给Stripe

时间:2013-05-20 16:26:39

标签: django csrf stripe-payments django-csrf

我使用stripe.js进行条带付款。我需要设置一个回调wenhook来接收来自stripe的请求。

由于webhook是通过条带发布的 - 我已将其标记为csrf_excempt

  1. 制作此视图csrf_excempt
  2. 是否存在任何风险?
  3. 如果我在这个视图上应该有csrf保护,我怎样才能从条带中传递并返回csrf标记?

3 个答案:

答案 0 :(得分:6)

那不行。绝对禁用来自Stripe的回调的csrf。

即使你......

  • csrf_token传递给条纹
  • 找到了一种方法来获取条带以将相同的令牌发回回您的回调网址

此时令牌将无关紧要,因为令牌仅适用于您当前的浏览器会话(通常是cookie)。

CSRF令牌在每次请求时生成,并发送到浏览器以存储在cookie中。 Stripe不会有这个cookie,因此你会得到一个CSRF错误。

答案 1 :(得分:1)

您可能还想考虑将来使用django-stripe-payments

答案 2 :(得分:0)

正如接受的答案所说,无法使用带有条带回调的CSRF令牌。

Stripe Webhook Documentation中推荐的安全方法是使用来自传入webhook的ID将请求发送回Stripe以获取完整的事件详细信息。