我打算使用eWay作为支付网关,但在实施过程中遇到了一个又一个问题。
由于我不想在任何时候接触信用卡的详细信息,由于PCI要求,我不想通过我的网站存储或转移,我需要将用户重定向到网关托管的页面。用户在那里提供所有详细信息,网关将结果确认返回到我指定的页面,让我们称之为payment_done.php。
现在,在payment_done.php我不知道确认是来自支付网关本身,还是有人只是POSTed它到我的页面,它是假的。因此,我的页面可能会收到确认,但付款可能根本不会完成。
现在在payment_done.php中,我需要询问eway,然后我收到的确认(与一些特定的交易ID)是否来自他们,如果是,金额是正确的等。Eway将返回真/假给我,然后我可以确保付款是正确的金额。
现在的问题是,eway似乎每天只允许查询100次确认。
我现在似乎已经没有想法了,拼命地寻求帮助。我还有什么选择?令人难以置信的是,即使使用支付网关托管页面,也无法在不陷入PCI合规性问题的情况下使其工作。提前感谢您的帮助。
发布于 2010-07-28 05:08:52
答案是双重的。
验证帖子是否来自eway服务器,如果请求来自其他地方,则不允许该请求。这是您的主要安全形式。
如果eway有人想要入侵你的网站,实现以下代码:
在发送用户付款之前,创建一个长散列。您可以使用会话变量来保存它。
使用eWAYoption1参数传递散列。
当eway回帖一个答案时,检查eWAYoption1值以验证它是否与当前用户的付款哈希匹配。
验证会话变量后,必须立即将其删除。即使散列是错误的,也要使会话变量无效,并让它们重新开始。
在散列和验证发帖的IP地址之间,你应该是非常安全的。
https://stackoverflow.com/questions/3347924
复制相似问题