【发布时间】:2016-05-04 13:34:37
【问题描述】:
我有一个 webhook 视图,它接收来自支付网关的 POST 请求。它识别客户并使用提供的数据更新金额。
如果 webhook URL 以某种方式泄露,这很容易被利用。
例如
curl --data "cust_no=xxxxxxxxxx&amount=1000" https://example.com/wallet/payment_webhook/
如何确保其安全,使其不接受此类请求?它应该验证请求仅来自支付网关。
更新:
webhook 请求包含交易详细信息以及客户编号。
【问题讨论】:
-
很难说没有关于模型的信息......你使用什么授权?客户编号是否与
request.user的相同? -
是的。支付网关向我提供交易信息以及客户编号。
-
我会说网关有责任正确地验证自己。查阅其文档。如果您需要帮助,请说明您使用的支付网关。
-
同意@AndreaCorbellini,就像 Paypal 限制用户付款通知 webhook 以通过将相同数据回发到另一个 Paypal URL 来验证数据。所以你的支付网关必须有类似的东西。
-
我检查了 Stripe 文档,没有任何东西可以处理它。在这里查看stripe.com/docs/webhooks
标签: python django stripe-payments payment