保护opencart支付回拨功能免受直接访问

时间:2014-03-12 13:40:08

标签: php opencart

我编写了一个Frazy IPG的扩展名(这是一个本地支付网关,根本不出名)。在他们的支付网关中,我们需要将值传递给他们的服务器并加密并将其发送给MIGS,当交易成功或失败时,它返回到我的网站,状态为。

状态值在重定向到我的网站时会添加到网址

如果成功

index.php?route=payment/frazyiph/callback/&?status=success&message=transaction_success

如果失败

index.php?route=payment/frazyiph/callback/&?status=failed&message=invalid_card

这些是付款后返回的唯一值。所以我从网址捕获状态和消息,并相应地更新数据库。

我遇到的问题是当一个人添加产品并直接粘贴成功网址时

index.php?route=payment/frazyiph/callback/&?status=success&message=transaction_success 

它会在付款后更新。所以我尝试捕获order_id并检查它不是空的并相应地更新。问题是当一个人选择在IPG支付并取消它时返回到我的页面说付款被取消。然后,如果有人粘贴成功网址,则会在用户付款时更新,因为订单ID已生成。

有没有办法保护回调功能并确保用户从IPG重定向到我的网站更新订单而不只是在地址栏中输入网址?

1 个答案:

答案 0 :(得分:1)

我真的不了解你,这是你为正在开发的支付模块提出的第三个问题,到目前为止我已经尝试过帮助你了解每一个,但到目前为止,我甚至不知道我是否帮助了你虽然我看到你在开发过程中继续前进,但我们将非常感谢一些反馈......

对于您当前的问题,有一种方法,您需要检查带有php变量$_SERVER['HTTP_REFERER']的标头或其他一些$_SERVER['']变量应该提供必要的信息,以便您可以指定只有来的数据来自IPG的是你会接受的。