首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BitPay API通知:安全风险?

BitPay API通知:安全风险?
EN

Stack Overflow用户
提问于 2016-05-27 09:04:37
回答 1查看 202关注 0票数 0

我目前正在实现BitPay API (在PHP中)。所有这些都很好,但我有点担心收到通知时可能存在的安全风险。

BitPay API使用POST请求向包含JSON字符串的给定通知url发送状态更新通知:

{ "id": "123BitPayInvoiceID", "url": "https://bitpay.com/invoice?id=123BitPayInvoiceID", "posData": "6G38ZL", "status": "paid", "btcPrice": "0.0512", "price": 29.14, "currency": "USD", "invoiceTime": 1407881291063, "expirationTime": 1407882191063, "currentTime": 1407882058099, "btcPaid": "0.0512", "rate": 568.69, "exceptionStatus": false, "bitpay": { "id": "123BitPayInvoiceID", "url": "https://bitpay.com/invoice?id=123BitPayInvoiceID", "posData": "{\"paymentID\":\"123PAYMENTID\",\"orderID\":\"123ORDERID\"}", "status": "confirmed", "btcPrice": "0.0512", "price": 29.14, "currency": "USD", "invoiceTime": 1407881291063, "expirationTime": 1407882191063, "currentTime": 1407882058099, "btcPaid": "0.0512", "rate": 568.69, "exceptionStatus": false } }

当我在我们的数据库中查找付款时,我想将其更改为“确认”。

在我看来,这是一种安全风险,因为任何人都可以发送假通知;启动付款并希望确认付款的人可以发送此请求,状态设置为“已确认”。

我的问题:

  1. 我一开始应该担心吗?我可以检查请求来自哪里,使用一个不容易猜测的通知Url等,但我仍然觉得安全不舒服;
  2. 我可以始终不信任任何通知,并在收到通知时向API发送状态请求。这是一种好的做法吗?
  3. 还有其他(更好的)方法可以安全地使用这些通知吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-27 09:22:08

你所寻求的所有建议都在他们的医生里.

https://bitpay.com/docs/invoice-callbacks

我们建议您打开一个非标准端口,并在notificationURL中指定该端口,而不是白色地列出BitPay IP地址,因为它们可能会在没有通知的情况下更改。由于我们尚未签署这些通知,因此不应完全信任它们。我们建议在收到这些通知时,根据API验证这些通知,以确保所提供的数据是真实的。例如,当发票支付通知传入时,您应该向我们的API发出请求,以检查该发票的状态,以确保它实际上已经支付。这为核实已付款订单提供了额外的安全保障。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37479293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档