【发布时间】:2011-03-16 03:26:42
【问题描述】:
我将使用其中一个支付网关,因此我网站上的用户将被重定向到网关托管页面以提供所有 CC 详细信息。网关会将结果返回到我指定的页面(我们称之为 paymentProcessed.php)。但现在我担心的是:
有人可能会伪造它。我的意思是有人可能会被重定向到支付网关,而不是支付,而是将结果返回到我的网站 paymentProcessed.php 页面,并确认所有已支付。此确认将由用户自己通过普通 POST 发送,然后我的网站将向用户交付产品,尽管没有实际付款。避免这种情况的常见做法是什么?
某人被重定向到网关托管页面,付款,重定向回我的站点,并且他登录的会话已过期。通常我依靠会话来查看是否应该允许用户访问站点的某些部分,但是现在我是否需要实施其他类型的确认页面检查?现在我正在考虑在数据库中存储订单 ID 和随机生成的值,当用户重定向时将其传递给网关(连同总计,总计将传递给网关然后返回,以便我可以确认支付了适当的金额)。然后,当确认与订单 id 一起出现时,我随机生成的值(和总数)而不是像我通常对普通购物车页面所做的那样依赖会话,我应该使用匹配的订单 id 检查这个值并根据需要更改订单状态。处理此类问题的常见做法是什么?
我还应该考虑哪些其他可能的问题?
我试图尽可能清楚地解释,我希望以上所有内容都有意义。如果我需要澄清一些事情,请告诉我。顺便说一句,我在 php/mysql 中编码
【问题讨论】:
标签: php payment-gateway shopping-cart