rest - 外部支付方式 API - 处理回调安全
问题描述
许多支付方式提供商 API,如Braintree、Stripe等,都提供了一个回调系统,允许商家收到交易结果的通知。
主要问题是:我如何才能免受恶意请求的影响?
假设攻击者可以重现我们公开的回调 REST API(显然使用 HTTPS),这将导致许多虚假的成功交易。
有什么方法可以防止这种情况吗?我在 Stripe 链接上阅读了有关 CRSF 令牌的信息,但我不清楚如何在我的电子商务网站和提供商 API 之间安全地传递它。
解决方案
Stripe 的回调系统称为 webhooks ( https://stripe.com/docs/webhooks ),为了防止潜在的攻击,Stripe 会将回调内容连同签名一起发送。签名是带有时间戳和 webhook 密码的回调内容的 (HAMC SHA256) 哈希。您可以验证签名 ( https://stripe.com/docs/webhooks/signatures ) 以确保数据确实是从 Stripe 发送的。
推荐阅读
- android - 不同屏幕尺寸的Android RelativeLayout问题
- python - keras(张量流后端)使用 slurm 在集群上运行
- gremlin - CorruptedFrameException:远程客户端中的多个 addV() gremlin 查询
- javascript - Laravel 合并数组中的重复对象
- java - 将字母电话号码转换为数字
- javascript - 如何查找数组是否有匹配的对象?
- php - SilverStripe GraphQL - 查询具有后代的类型时出错
- php - 如何从无限滚动 Wordpress 中的两个“元值”获取 query_posts
- node.js - 获取最新的节点和 npm
- vba - 如何对 Rest API 进行异步调用并从 VBA 传递编码的 HTTP 内容?