2009-07-21 27 views
1

我正在查看Moneris支付处理及其直接发帖方法。对于我的生活,我无法弄清楚它的安全性如何工作。Moneris直接发布安全吗?

是最好的,我可以告诉它这样做:

  1. Web用户来我的网站。他们填写他们的信用卡信息(https)。
  2. 我在窗体中向他们展示了一个摘要。当他们提交时,他们去Moneris(邮政) - 包括我的身份证,信用卡信息和自定义交易ID
  3. Moneris处理交易并将它们发回我的网站(作为POST)
  4. 如果他们到达failed.php或您指定的任何URL,交易将失败。其他:
  5. 如果他们到达gotyourmoney.php那么交易似乎工作。时间来验证。 (包括在POST变量是对交易中的唯一ID日期/时间戳RESPONSE_CODE(有钱,也拿不到钱)和其他一些杂项。
  6. 我将用户重定向回到moneris本站另一篇文章。我又包括我的ID和唯一ID第5步返回验证交易。
  7. 用户与唯一ID再次重定向回gotyourmoney_verified.php为POST, 交易IDresponse_code

我想不通的是:

没有哪里似乎有,我可以验证Web用户不能只是弥补任何信息。即使它是一个https连接,我相信用户可以传递所有信息。他们可以立即前往gotyourmoney.php页面,甚至不会去moneris支付网关。他们可以编写身份证件。当我将它们发回moneris进行交易验证时,他们又可以在我的网站上发布完成回复。

我错过了什么?

回答

0

确实,因为所有这些事情都经过客户端,他们很容易被欺骗。 Moneris的文档并没有告诉你这一点。您需要某种服务器到服务器的步骤来确保一切顺利。

我会建议使用托管付费页面进行预授权,然后使用PHP API进行捕获。由于您正在执行捕获服务器到服务器的任何操作,所以客户端的任何欺骗尝试都只会导致捕获失败。

+0

谢谢杰森!这就是我的想法 - 我无法弄清楚他们为什么会允许你这样做。 – user5722 2009-09-11 23:07:22

3

DirectPost的交易验证功能可用于防止欺骗。

下面是它如何工作的

  1. 一位顾客进入您的网站上自己的信用卡信息并将信息发送到Moneris处理

  2. Moneris处理该交易,并将交易结果到您的site

  3. 如果启用交易验证,那么在交易结果中将会有一个特殊字段称为“交易密钥”

  4. 然后以验证该交易没有欺骗,你的网站就会将交易中的关键一交易验证请求Moneris

  5. Moneris会然后使用事务密钥验证交易,并用结果回答说,让你知道,如果交易被欺骗

的集成指南DirectPost对如何实现交易验证功能,并可以在http://developer.moneris.com(需要免费注册)是下载所有的细节。

除交易验证外,您还可以设置引荐来源网址。如果设置了引用URL,Moneris将验证该交易是否来自允许的URL。可以规避引荐来源网址功能,但启用引荐来源网址作为深度防御策略的一部分仍然有用,因为这会使欺骗交易变得更加困难。