私は現在、BitPay API(PHP)を実装しています。すべて正常に動作しますが、通知を受け取るときに起こりうるセキュリティリスクを少しは心配しています。BitPay API通知:セキュリティリスク?
BitPayのAPIは次のようにJSON文字列を含む、指定された通知URLにPOST要求を使用してステータスを更新してこれらの通知を送信します。
{ "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 } }
私は私達のデータベースでのお支払いを検索私はそれを「確認済み」に変更したい。
誰もが偽の通知を送ることができるので、これはセキュリティリスクです。支払いを開始し、その支払いを確認することを希望する人は、ステータスが「確認済み」に設定されたこの要求を送信することができます。
私の質問は:
- が最初の場所で私を心配すべきか?私はリクエストがどこから来たのかを確認することができました。推測するのは簡単ではない通知URLを使用しますが、私はまだ安心してセキュリティを感じることはできません。
- 通知が届いたら、いつでも通知を不信にしてステータスリクエストをAPIに送信できます。これは良い方法でしょうか。
- これらの通知を安全に使用するための他の(より良い)方法はありますか?
ありがとうございます!
あああなたは正しいです。私はそれを見落としました、ありがとう! – Graftak