电子商务中如何防止黑客修改商品价格
How to prevent hackers from modifying the product price in e-commerce
我敢肯定这是一个非常普遍的问题,但不知何故我在网上找不到任何相关信息。我有一个具有不同产品价格的电子商务网站。然后我使用 Javascript 来计算总价,但是我应该将每个定价值存储在什么地方以避免被黑客攻击?
我遵循的一个教程建议通过自定义属性将价格添加到 HTML 文件中的每个项目,例如 data-price="100".
这非常方便而且有效,但我也听说黑客基本上可以篡改 HTML 形式的任何值,那么如何防止他们将价格更改为 1 而不是 100?改为在 Javascript 文档中定义值会更安全吗?或者别的地方?最佳做法是什么?
非常感谢!
永远不要相信客户。
如果他们想订购 27 个自密封阀杆螺栓,每个成本 5 夸特卢,那么您的 JS 可能会告诉 他们 这将花费 135 个夸特卢,但您永远不应该相信他们的浏览器总计。
浏览器应该告诉您的服务器他们正在订购 27 个自密封阀杆螺栓。
最终的收费金额由服务器决定。
当他们付款时,您应该将支付的金额与服务器计算的费用进行比较。
一般来说,在客户端计算产品的价格是一种应该避免的做法。
避免攻击的最好方法是不在客户端计算任何与金钱相关的信息,而是从服务器获取信息。
也许您可以实施一个流程来调用服务器以获取交易过程中给定点的价格,最初显示计算出的价格(来自您的javascript)。
编辑:仅回答。
我敢肯定这是一个非常普遍的问题,但不知何故我在网上找不到任何相关信息。我有一个具有不同产品价格的电子商务网站。然后我使用 Javascript 来计算总价,但是我应该将每个定价值存储在什么地方以避免被黑客攻击?
我遵循的一个教程建议通过自定义属性将价格添加到 HTML 文件中的每个项目,例如 data-price="100".
这非常方便而且有效,但我也听说黑客基本上可以篡改 HTML 形式的任何值,那么如何防止他们将价格更改为 1 而不是 100?改为在 Javascript 文档中定义值会更安全吗?或者别的地方?最佳做法是什么?
非常感谢!
永远不要相信客户。
如果他们想订购 27 个自密封阀杆螺栓,每个成本 5 夸特卢,那么您的 JS 可能会告诉 他们 这将花费 135 个夸特卢,但您永远不应该相信他们的浏览器总计。
浏览器应该告诉您的服务器他们正在订购 27 个自密封阀杆螺栓。
最终的收费金额由服务器决定。
当他们付款时,您应该将支付的金额与服务器计算的费用进行比较。
一般来说,在客户端计算产品的价格是一种应该避免的做法。
避免攻击的最好方法是不在客户端计算任何与金钱相关的信息,而是从服务器获取信息。
也许您可以实施一个流程来调用服务器以获取交易过程中给定点的价格,最初显示计算出的价格(来自您的javascript)。
编辑:仅回答。