【问题标题】:Security - How to prevent rendering of React Component to unauthenticated users?安全性 - 如何防止将 React 组件呈现给未经身份验证的用户?
【发布时间】:2017-02-19 22:06:31
【问题描述】:

我在尝试解决使用 Firebase 身份验证时的安全问题。

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

假设我有一个单页 React,它在 usernull 时呈现 <Login /> 组件,如果 usernot null,则呈现 <App />,使用this.state

难道不能直接进入 React DevTools 并将 user 的状态更改为渲染 <App /> 吗?

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

【问题讨论】:

    标签: javascript reactjs authentication firebase firebase-authentication


    【解决方案1】:

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

    即使您能够阻止渲染,也没有什么可以阻止有人在源中拖网查看输出的内容,所以如果有一些关键的东西应该完全无法访问,那么它可能属于服务器(以及无论哪种方式,开发工具都应该在生产中被禁用)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 2016-07-02
      • 2014-04-27
      • 2015-01-13
      • 1970-01-01
      • 2020-04-02
      • 1970-01-01
      相关资源
      最近更新 更多