我正在实施一个简单的商店来接受付款。我正在使用托管商店解决方案。它的工作方式是:
- 我的页面处理构建购物车。到了收钱的时候,我的页面将重定向到托管商店。
- 托管商店将处理交易。
- 托管商店会将结果重定向回我。
我想确保交易尽可能顺利和安全地进行。商店的文档使该过程看起来非常简单。下面是真正需要发送给商店提供商的所有内容,从他们的文档中获取。
<FORM METHOD="POST" ACTION="https://www.fakehostedstore.com/xxx/index.php">
<INPUT TYPE="HIDDEN" NAME="store_id" VALUE="abcdefg">
<INPUT TYPE="HIDDEN" NAME="store_key" VALUE="hijklmnop">
<INPUT TYPE="HIDDEN" NAME="charge_total" VALUE="100.00">
<!--MORE OPTIONAL VARIABLES CAN BE DEFINED HERE -->
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Click to proceed to Secure Page">
</FORM>
这让我有些担心。例如,如果我打开类似Firebug的东西,我可以在提交表单之前将“charge_total”更改为我喜欢的任何内容。很快,我可以将要发送到商店的费用金额从“100.00”减少到“10.00”。将进行收费的商店不会更聪明,并继续进行不正确的收费。
如果交易在商店完成,商店会发回成功收取的金额。然后我可以验证我的预期费用。例如,我预计收取 100 美元的费用,但只收取了 10 美元,WTF!
有没有办法保护这种形式,使其不易被篡改?