0

我确信这是一个非常普遍的问题,但我在网上找不到任何关于它的信息。我有一个不同产品价格的电子商务网站。然后我使用 Javascript 计算总价格,但我应该将每个定价值存储在哪里以避免被黑客入侵?

我遵循的一个教程建议通过自定义属性将价格添加到 HTML 文件中的每个项目,例如 data-price="100"。

这很方便而且有效,但我也听说黑客基本上可以篡改 HTML 表单中的任何值,那么如何防止他们将价格更改为 1 而不是 100?在 Javascript 文档中定义值会更安全吗?或者别的地方?最佳做法是什么?

太感谢了!

4

2 回答 2

3

永远不要相信客户。

如果他们想订购 27 个自密封阀杆螺栓,每个成本 5 quatloos,那么您的 JS 可能会告诉他们这将花费 135 quatloos,但您永远不应该相信他们的浏览器。

浏览器应该告诉您的服务器他们正在订购 27 个自密封阀杆螺栓。

由服务器决定最终的收费金额。

当他们付款时,您应该将支付的金额与服务器计算的费用进行比较。

于 2020-12-11T15:39:04.947 回答
2

通常,在客户端计算产品价格是一种应避免的做法。

避免攻击的最好方法是不在客户端计算任何与金钱相关的东西,而是从服务器获取信息。

也许您可以实现一个流程,在交易过程中的给定点调用服务器以获取价格,最初显示计算出的价格(来自您的 javascript)。

编辑:只回答。

于 2020-12-11T15:39:06.187 回答