我无法弄清楚如何阻止人们使用萤火虫等工具编辑购物车中的金额。如何确保用户无法编辑隐藏字段?我可以在将金额发送给PayPal之前对其进行编码吗?
谢谢!
弗朗索瓦
答案 0 :(得分:2)
好的,将评论转化为答案......
不要对隐藏文件进行编码!当客户付款时,PayPal将处理交易并告知您的自动系统已收到付款。它还应该告诉你客户付了多少钱!然后,您将支付的金额与原始发票进行比较,如果存在差异,您只需告诉用户付款不完整。 (当然,除非他们支付太多。)
正如Chris Lively告诉你的那样,不要相信顾客!始终检查已支付的金额。一旦你这样做,用户是否侵入任何隐藏的字段并不重要,因为你事后检查它。
如果您的安全性取决于让您的用户远离隐藏字段,那么您的安全性将会失败!您的安全性应取决于您与PayPal的直接联系。只有在PayPal确认付款时,您才应发送产品。
答案 1 :(得分:1)
我很遗憾地说,但你不能阻止人们摆弄html / post变量。一个常见的安全咒语是“不要相信客户”。
该过程应该是让客户端回发到您的服务器。它重新计算总数或其他,然后发送给paypal。显然应该有一些健全性检查,如防止零或负数量;但是,客户本身不应该控制总数。