如何使用价格验证请求正文

问题描述 投票:1回答:1

Calculate price on frontend insecure?

价格应始终在后端验证,因为可以修改http请求。基本上,在我的市场中,用户可以购买商品,并且在该请求正文中包含他所购买的商品及其价格,小计以及该商品的相应商品目录ID。但是,似乎一切都可以被操纵。如果我要通过遍历他的订单中的所有项目来验证小计,则可以对其进行修改,因此这是不准确的。如果我要根据ID查找目录中的实际价格,则请求正文中的这些目录ID也可能已被修改,指向错误的目录项。因此,如何根据用户请求正文验证价格,其中包含项目及其价格,每个项目的小计和目录(数据库)ID?

同样,如果我使用的是SSL,那么我不能在前端计算价格吗?

server-side client-side
1个回答
0
投票

整个购物车应保留在服务器上,客户端显示购物车并要求确认。价格也可以在客户端上计算,但是稍后必须在服务器上再次计算。

您不应该丢失购物车数据的踪迹(即,将其发送给用户并等待其返回),因为之后您将无法再信任它。您必须将购物车/订单数据保存在服务器上,并向客户发送保存的购物车数据的ID以及要显示的数据本身(价格等)。然后,用户发送回确认信息和ID,而不是全部数据。使用ID可以在服务器上恢复购物车/订单信息以及价格和所有价格,因此价格永远不会来自用户。

用户发送给您的任何内容都可以由他更改,只要他足够熟练。

加密的使用无济于事,加密避免了在源(客户端)和目标(服务器)之间旅行期间发生的数据更改。它不能保证客户端本身是可信任的或数据正确的。伪造发生在客户端进行加密之前(用户可以按自己的意愿操纵url数据或POST数据,更改价格,然后再进行加密)。

而且,加密通常可以确保服务器所有者是客户端的正确所有者(服务器具有证书),它不能保证用户或客户端软件的可信度,因此使用经过修改的浏览器的用户是完全合法的,不能在任何情况下区分。

© www.soinside.com 2019 - 2024. All rights reserved.