Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 安全性-如何防止向未经身份验证的用户呈现React组件?_Javascript_Reactjs_Authentication_Firebase_Firebase Authentication - Fatal编程技术网

Javascript 安全性-如何防止向未经身份验证的用户呈现React组件?

Javascript 安全性-如何防止向未经身份验证的用户呈现React组件?,javascript,reactjs,authentication,firebase,firebase-authentication,Javascript,Reactjs,Authentication,Firebase,Firebase Authentication,在使用Firebase Auth时,我正试图解决安全问题 firebase.auth().onAuthStateChanged(user => { if (user) { // User is signed in. } else { // No user is signed in. } }); 假设我有一个页面React,当用户为空时呈现组件,并呈现,有没有办法保证未经身份验证的用户不能呈现?我会考虑其中是否有真正值得保护的内容,如果他们能够更改用户状态,他们

在使用Firebase Auth时,我正试图解决安全问题

firebase.auth().onAuthStateChanged(user => {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

假设我有一个页面React,当
用户
空时呈现
组件,并呈现
,有没有办法保证未经身份验证的用户不能呈现

我会考虑其中是否有真正值得保护的内容,如果他们能够更改用户状态,他们将无法做更多的事情,因为我猜您将进行其他API调用或基于该数据呈现视图,因此他们不会呈现不存在的数据


即使您能够阻止渲染,也没有什么可以阻止某人在源代码中搜索以查看输出的内容,因此,如果有一些关键内容应该完全不可访问,那么它可能属于服务器(并且可能在生产中禁用devtools)

我会考虑其中是否有真正值得保护的内容,如果他们能够更改用户状态,他们将无法执行更多操作,因为我猜您将进行其他API调用或基于该数据呈现视图,因此他们不会呈现不存在的数据

即使您能够阻止渲染,也没有什么可以阻止某人在源代码中搜索以查看输出的内容,因此,如果有一些关键内容应该完全不可访问,那么它可能属于服务器(并且可能在生产中禁用devtools)