我已经为在线购物车网站创建了一个表单,客户将产品添加到了他的包中,并在该页面中检查填写客户信息。测试人员使用一些篡改技术并能够更改他们说的数据验证,以MD5安全散列前的产品,他们能够为我们使用实时数据篡改的价格形式如何,如果需要的代码会为你的答案提供我想创建一个无法操作的表格
非常感谢 瓦苏
解决这个问题我已经为在线购物车网站创建了一个表单,客户将产品添加到了他的包中,并在该页面中检查填写客户信息。测试人员使用一些篡改技术并能够更改他们说的数据验证,以MD5安全散列前的产品,他们能够为我们使用实时数据篡改的价格形式如何,如果需要的代码会为你的答案提供我想创建一个无法操作的表格
非常感谢 瓦苏
解决这个问题并且能够在验证数据之前更改产品的价格
的解决方案是采取只从形式订购的产品数量,并在内部做的价格计算,在服务器端。如有必要,每次购物车更新。
在客户端计算的任何东西永远不值得信赖。
当你在它的时候,确保你没有遇到下一个错误的机会:确保用户在指定项目数量时不能输入分数,如0.1
- 导致10%的原价。 :)
提交表单时,计算购物篮中商品的价格并将其与浏览器提交的价格进行比较。
如果不同,请询问用户确认实际价格。
客户为什么要负责提供合适的价格。这是网站本身,应该决定。 –
@ElGabbu要求用户确认实际价格没有任何不妥。例如,在用户访问期间数据库中的价格可能已经改变。 –
如果您向用户显示价格,并且出现问题(这种情况不太可能,攻击更可能),然后要求他们确认实际价格会更安全(从法律角度而言),然后以不同的价格为他们开票。 – Quentin
同意Pekka。价格本身不应该是形式的一部分。唯一应该提交的是数量有序的链接到product_id。价格计算应在表单提交后在服务器上完成。
结帐时,根据有效/四舍五入的数量重新计算服务器端的所有价格。在继续对付款工具收费之前,向用户显示一个不可编辑的确认页面。如果用户不同意确认,他可以回到购物车并进行更改。
假设客户已将购物车物品保留一周,同时价格已上涨。可以失去差异吗? –