我正在开发一个带有 Firebase 后端的 React Web 应用。
我正在考虑直接访问和更新数据库与使用 Firebase Cloud Functions 等后端功能访问和更新数据库的安全影响。
恶意用户是否有可能更改 Web 应用程序的源代码,以便在为生产环境构建 Web 应用程序后可以更改数据库查询?
最佳答案
是的,这是很有可能而且很常见的。您不应依赖应用的源代码来确保您的业务规则。
相反,您需要依靠身份验证和授权的组合来保护您的数据。
身份验证意味着您要求用户登录,以便您知道谁在执行特定操作。在 Firebase 中,您需要使用 Firebase 身份验证。如果您不想提示用户输入凭据,可以使用 anonymous authentication .
了解用户后,您可以确保他们只能执行他们被授权的操作。您可以在自定义后端(例如 Cloud Functions)中执行此操作。但我总是首先考虑 Firebase 的内置安全规则。这些在服务器端进行评估,并提供一种相当简单的访问授权方法。由于语法取决于您使用的数据库,因此以下是 Firebase Realtime Database 的文档和 Cloud Firestore .
另请参阅:
关于javascript - 已发布的 React 应用程序中函数的可变性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50927208/