【问题标题】:React Security Concerns: Restricted pages in AppReact 安全问题:App 中的受限页面
【发布时间】:2018-05-10 16:12:53
【问题描述】:

我对 Web 开发和使用 React.js 还比较陌生,想仔细检查一些安全问题:

认证

假设未经身份验证的用户无法访问我的应用程序的一部分,我通过调用例如 AWS Cognito 和条件渲染来实现这一点:

{Auth ? <userPanel/> : <smthElse/>}

是否有任何客户端操作范围,即尽管被 Cognito 拒绝,是否有办法访问 userPanel 组件?

授权

此外,如果我有不同的用户组(用户、管理员等),那么限制应用程序不同部分的安全方法是什么?到目前为止我提出的一些选项:

  1. 同上,直接调用 Cognito API 和条件渲染
  2. 也许有办法使 Redux 状态不受脾气影响,并将其与私有 react-router-dom 路由结合使用
  3. 结合对 Cognito API 的直接调用使用私有路由

谢谢

【问题讨论】:

    标签: javascript reactjs redux react-router react-redux


    【解决方案1】:

    客户端身份验证/授权是不可能的,应该避免。

    前端不应与任何敏感数据捆绑在一起。
    相反,请保护您的 API 端点,这样即使用户编辑源以呈现组件/页面,除非获得授权,否则他们不会看到呈现的任何敏感数据。

    【讨论】:

      【解决方案2】:

      客户端没有任何东西是防篡改的。我认为您的解决方案很好,只要您在呈现页面之前也执行后端验证。

      如果您真的担心这可能会从客户端更改,我建议为经过身份验证的用户和未经身份验证的用户设置完全不同的路由

      【讨论】:

        猜你喜欢
        • 2016-06-19
        • 1970-01-01
        • 1970-01-01
        • 2021-11-23
        • 2012-11-21
        • 1970-01-01
        • 2014-07-21
        • 2022-10-17
        • 2021-01-12
        相关资源
        最近更新 更多