前端计算价格不安全?

2024-03-11

我想知道是否可以操纵在前端完成的价格计算?我读了很多关于 JavaScript 价格计算器的文章,其中的业务逻辑仅在客户端,但对安全性却一无所知。

考虑以下场景:

  • React 应用程序有一个组件(表单),它根据其子组件(表单输入)的状态(用户交互)计算价格。
  • 这些子组件的价格来自 API。
  • 但计算是由前端的父组件处理的。

是否可以通过表单发送操纵的计算结果?


是的,仅客户端计算(没有服务器端验证)是不安全的。

不幸的是,限制您的(客户端端)表单可以发送的值不足以防止操纵。这是因为 HTTP 请求可以通过各种不同的方法发送,而不仅仅是从您构建的表单发送。

要绕过此保护,攻击者所需要做的就是检查您对服务器的 API 请求(例如使用 Chrome 或 Firefox 中的开发人员工具),并重新发送更改计算值的请求。 Firefox 的开发者工具甚至有一个“编辑和重新发送”功能,专门允许您执行此操作(它也具有用于调试和测试 API 的合法用途)。

您无法控制服务器环境吗?如果您这样做,为什么不想在那里实施验证?如果您告诉我们更多有关您的设置的信息,那么我们也许能够帮助您找到解决问题的好方法:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端计算价格不安全? 的相关文章

随机推荐