基于作业角色的授权在react中的安全性如何



我最近看到一个视频,在视频中,他们使用后面的node/express进行反应,以进行基于角色的授权。在这种情况下,一旦用户经过身份验证,他的作业角色就会作为响应传递给react前端,然后将其存储在状态中,并用于相应地呈现页面。那么,这种方法有多安全?像普通用户一样的人有可能篡改来自服务器的响应并将其修改为类似";管理员";。或者还有其他更安全的方法吗。请帮帮我,因为我对这些话题还很陌生。

规则1-永远不要信任客户端的任何东西

传递给客户端的任何信息都纯粹是为了显示目的。

在将数据插入/更新到数据库之前,或者在将其用于预期用户的任何目的之前,后端上的每一次修改都应该包含对数据的验证。

用户可以更改角色以查看不同的UI,但如果用户不是合法用户,则UI永远不应尝试检索不属于该用户的信息,或接受该用户的任何输入。

像普通用户一样的人有可能篡改来自服务器的响应并将其修改为类似";管理员";

是的,他们可以。React状态只是JavaScript,作为用户,他们总是可以在浏览器中修改这些状态值。

这种方法的安全性如何?

此问题取决于服务器端的安全性。用户总是可以篡改对服务器的请求。检查请求是否有效是服务器的工作。例如,使用JWT,当请求到达服务器时,服务器需要在执行任何作业之前检查用户是否是管理员
通常,在前端保存管理员角色或类似的东西通常是为了显示数据。在向服务器发送请求之前,您总是可以进行一些输入检查,但服务器中的VALIDATE request是必须的

最新更新