reactjs - 黑客可以影响国家内部的信息吗?
问题描述
在我的反应应用程序中,我在后端计算订单的价格,然后将其传输到状态。但最后,贝宝订单金额通过状态传递。这意味着,如果黑客能够找到将状态更改为“1 美元”的方法,他们就能以更便宜的价格买到这些物品。
这只是我计算状态内的东西的一个案例,我想知道黑客改变状态的场景是否可能。
我在状态方面做敏感事情的另一个案例:当用户尝试重置密码并且他们的 ip 没有因为太多尝试而被列入黑名单时,我将他们转移到一个页面,他们需要输入他们收到的手机密码. 如果他们输入无效的 pin,我会增加“failedTries”状态,如果他们失败了 3 次,则不会接受他们的提交。这是完成的,而不是一直到 db 并存储他们失败的 pin 码。如果黑客将状态更改为 0,他们可以简单地暴力破解只有 6 位数长的电话密码。
解决方案
我认为您应该将 failedTries 保存在数据库中而不是 UI 部分中,作为计算价格。
您应该从服务器获取受保护的内容,并且该服务器应该仅在用户发送有效令牌时交付内容。
这样,是的,任何人都可以在客户端中拨动开关,但这仅显示 UI 组件,没有任何数据。
这是创建单页应用程序时的常用方法。只要您从一开始就没有在您的客户端中拥有机密或敏感数据,它们就与您提供数据的服务器/API 一样安全。
推荐阅读
- linux - 如何使用 linux 命令或其他方式查找 MarkLogic v9 Data Hub 版本
- mysql - java.sql.SQLException:在 JBoss 中未使用 MySQL 数据源选择数据库
- javascript - 如何使用字符串名称访问数组 (Javascript)
- javascript - 了解 Vuejs 中属性的执行顺序
- sql - 使用 sequelize 计算 where 查询编码
- python - df。drop 导致 &: 'float' 和 'bool' 的操作数类型不受支持
- javascript - 在滚动时隐藏导航栏不会使导航栏在向上滚动后固定到位
- ios - UNUserNotificationCenterDelegate didReceive 响应没有被调用
- shopify - 如何在自定义 shopify 部分中添加 url 选项
- javascript - 如何检查 AJAX 请求的成功/错误回调?