可以篡改反应状态以绕过安全措施吗?

Oge*_*gen 5 reactjs

我有两个组件。用户必须用于登录的一个组件和一个用于显示某些内容的组件。

我正在考虑通过让一个组件具有某种反应状态来告诉它呈现登录组件或另一个组件来实现我的应用程序。

如果我这样做,是否可以在客户端手动设置状态,以便绕过登录屏幕并显示内容?

编辑:添加了一些示例代码。

render () { if (this.state.authorized) { return <Content /> } else { return <Login /> } }

考虑到这段代码,鉴于只有<Login />组件能够将authorized状态设置true为 ,客户端是否可以通过以某种方式手动设置状态来简单地解决这个问题?例如通过 chrome react 开发工具之类的?

Est*_*ask 4

客户端 JavaScript 在设计上并不安全,即用户可以完全控制在用户浏览器中运行的脚本。考虑到用户在本地有足够的访问权限,代码始终可以被读取和修改。适用于客户端代码的安全措施只会使这个过程变得更加复杂。

这与安全性不无关系,只要对敏感数据的访问是由后端控制的。

当然可以更改组件状态并显示不应该显示的组件。例如,React 开发工具可用于此演示,将其设置authorizedtrue

状态篡改

用户基本上毁掉了自己的应用程序体验。由于用户跳过了后端身份验证过程,因此将显示没有敏感数据的空白组件。