我对网络开发以及使用React.js相对较新,并希望仔细检查一些安全问题:
假设未经身份验证的用户无法访问我的部分应用,并且我通过调用AWS Cognito和条件渲染来实现此功能:
{Auth ? <userPanel/> : <smthElse/>}
是否有任何客户端操作的范围,即,是否有一种方法可以访问userPanel组件,尽管被Cognito拒绝?
此外,如果我有不同的用户组(用户,管理员等),那么限制应用程序不同部分的安全方法是什么?到目前为止我提出了一些选择:
由于
答案 0 :(得分:1)
客户端身份验证/授权是不可能的,应该避免。
前端不应与任何敏感数据捆绑在一起 相反,保护您的API端点,以便即使用户编辑源以呈现组件/页面,他们也不会看到任何敏感数据呈现,除非他们被授权。
答案 1 :(得分:1)
客户端没有任何东西是防篡改。我认为只要您在渲染页面之前执行后端验证,您的解决方案就可以了。
如果您真的担心这可能会从客户端更改,我建议为经过身份验证的用户和未经身份验证的用户设置完全不同的路由