反应安全问题:应用程序中受限制的页面

时间:2018-05-10 16:12:54

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

我对网络开发以及使用React.js相对较新,并希望仔细检查一些安全问题:

验证

假设未经身份验证的用户无法访问我的部分应用,并且我通过调用AWS Cognito和条件渲染来实现此功能:

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

是否有任何客户端操作的范围,即,是否有一种方法可以访问userPanel组件,尽管被Cognito拒绝?

授权

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

  1. 与上面相同,直接调用Cognito API和条件渲染
  2. 也许有办法让Redux状态得到防御,并与私有react-router-dom路由结合使用
  3. 将私有路由与对Cognito API的直接调用结合使用
  4. 由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

客户端没有任何东西是防篡改。我认为只要您在渲染页面之前执行后端验证,您的解决方案就可以了。

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