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

时间:2017-02-19 22:06:31

标签: 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在<Login />user时呈现null组件,如果<App />则呈现user } null,使用this.state

有人可以进入React DevTools并将状态更改为user以呈现<App />吗?

知道Firebase提供了Auth ID token,有没有办法保证未经身份验证的用户无法呈现<App />

1 个答案:

答案 0 :(得分:3)

我会考虑是否有任何内容值得保护,如果他们能够改变用户状态他们将无法做更多,因为我猜你会做基于该数据的其他API调用或渲染视图,因此它们不会呈现不存在的数据。

即使你能够阻止渲染,也没有什么可以阻止有人在源头拖网查看输出的内容,所以如果有一些关键应该是完全无法访问的,那么它可能属于服务器而不是(和devtools应该在生产中以任何方式禁用)