我正在查看Moneris支付处理及其直接发布方法。对于我的生活,我无法弄清楚它的安全性是如何起作用的。
我尽力告诉它这样做:
failed.php
或您指定的任何网址,则交易失败。否则:gotyourmoney.php
那么交易似乎有效。是时候验证了。 (包含在POST vars中的是交易的唯一ID ,日期/时间戳, response_code (有钱,没赚钱)以及其他一些杂项。gotyourmoney_verified.php
。< / LI>
醇>
我无法弄清楚的是:
似乎没有任何信息,我可以验证网络用户无法弥补这些信息。即使它是https连接,我也信任用户传递所有信息。他们可以立即转到gotyourmoney.php
页面,甚至不会去moneris支付网关。他们可以弥补身份证。当我将它们发回给moneris进行交易验证时,他们可以再次向我的网站发布一个补偿回复。
我错过了什么?
答案 0 :(得分:3)
DirectPost的交易验证功能可用于防止欺骗。
以下是它的工作原理
客户在您的网站上输入信用卡信息,并将信息发送给Moneris进行处理
Moneris处理交易并将交易结果发送到您的网站
如果启用了交易验证,则交易结果中会有一个名为“交易密钥”的特殊字段
然后,为确认交易未被欺骗,您的网站会在交易验证请求中将交易密钥发送给Moneris
Moneris然后会使用交易密钥验证交易,并回复一个让您知道交易是否被欺骗的结果
DirectPost集成指南包含有关如何实施交易验证功能的所有详细信息,可以http://developer.moneris.com下载(需要免费注册)。
除了交易验证,您还可以设置引荐来源网址。如果设置了引荐来源网址,则Moneris将验证该交易是否来自允许的网址。绕过引用者URL功能是可能的,但启用引用URL仍然可以作为深度策略防御的一部分,因为它使得欺骗事务变得更加困难。
答案 1 :(得分:0)
事实上,由于所有这些事情都通过客户端,因此很容易被欺骗。并且Moneris文档没有告诉你这一点。您需要某种服务器到服务器的步骤,以确保一切都井然有序。
我建议使用托管付费页面进行预授权,然后使用PHP API进行捕获。由于您正在执行捕获服务器到服务器,任何客户端欺骗的尝试都只会导致捕获失败。