0

SagePay 的表单回调可以通过重新使用用户在成功交易时被定向到的成功 URL 来破解。这可能会产生重复交易、虚假交易等各种问题。

您可以检查重复的 VPSTxId,但这些可以通过绕过回调 URL 的 crypt 参数重新生成。

也可以操作 crypt 参数来生成不同的“金额”字段。

我还没有测试通过破解回调 URL crypt 参数可以更改哪些其他字段值。

有没有办法(根据 PayPal 的 IPN 验证)对 SagePay 进行双重检查回调以确保交易是新的和唯一的?

4

2 回答 2

1

谢谢你的帖子。一般来说,我们鼓励客户尽可能使用服务器集成。我们还不断监控交易中的可疑行为,并在怀疑有任何恶意活动时主动联系我们的客户。

我们建议客户确保他们使用的是我们当前 v3 的最新版本的集成协议。获取最新的集成文档

正如 Dan 建议的那样,您可以使用Reporting and Admin API来验证 Sage Pay 端确实存在交易,但我们将积极探索额外的验证机制(如 PayPal 的 IPN)。

如果您希望我们对此进行更新,请通过 support@sagepay.com 或 0845 111 44​​ 55 与我们的客户服务团队联系。

贤者支付支持

于 2013-11-26T18:34:13.453 回答
0

您应该始终从成功 URL 重定向用户。
我个人使用完成页面(成功 url)和感谢页面。在完成页面上,您显然应该只处理一次交易(基于交易 ID),并且您可以存储与交易一起发送的加密货币。密码必须是有效的,并且只有在您拥有加密密钥的情况下才能进行加密。
因此,除非您的安全性非常松懈,否则黑客将非常困难,并且黑客必须知道您的加密密钥才能开始尝试破解它。

或者,您应该使用服务器集成,以便通信是服务器-服务器,而不是客户端-服务器。表单和服务器之间几乎没有区别。

10 条不变的安全法则
http://technet.microsoft.com/library/cc722487.aspx

于 2013-11-26T10:48:10.107 回答