【问题标题】:Is vuex state changeable via DevTools?可以通过 DevTools 更改 vuex 状态吗?
【发布时间】:2020-06-13 23:12:33
【问题描述】:

我将用户信息存储在 vuex 中,例如 {username: 'aa', role: 'admin'},角色:admin/user。管理员可以做任何事情。

所以我想知道用户是否可以通过 Chrome Devtools 将他的角色更改为admin?将数据保存到 vuex 安全吗?

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

    Vue Devtools 只能在开发模式下访问,因此如果您将应用程序部署到生产环境,它将无法使用。因此,它是绝对安全的。

    【讨论】:

      【解决方案2】:

      不,Vuex 不是“安全的”,因为您不能假设其中的任何内容都没有被篡改。但是,这种角色标志的意义只是帮助确定用户是否应该能够访问受保护的路由,或者以其他方式查看 UI 中只有管理员用户才能看到的内容。如果它在客户端发生更改,唯一的影响应该是您的前端看起来坏了,因为它正在尝试加载和显示它实际上无权访问的管理内容。

      在这种情况下,您的实际安全机制是您存储在 localStorage、cookie 或其他机制中的令牌,并与您发出的每个请求一起发送,以便后端可以实际验证您是否有权访问该资源与否。

      简而言之,服务器不应该仅仅因为 Vue 客户端声称自己是管理员用户而允许管理员访问;服务器应该识别和验证客户端,并且只允许用户被授权的请求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-19
        • 2020-05-30
        • 2021-04-15
        • 1970-01-01
        • 2019-03-20
        • 1970-01-01
        • 1970-01-01
        • 2019-07-15
        相关资源
        最近更新 更多