我正在使用具有Firebase后端的React Web应用程序。
我正在考虑直接访问和更新数据库与使用Firebase Cloud Functions等后端功能访问和更新数据库的安全隐患。
恶意用户是否有可能以某种方式更改Web应用程序的源代码,以便他们可以在构建Web应用程序以进行生产后更改数据库查询?
答案 0 :(得分:1)
是的,这很可能并且很普遍。您不应依赖应用程序的源代码来确保您的业务规则。
相反,您将需要依靠身份验证和授权的组合来保护数据。
身份验证意味着您要求用户登录,以便知道谁在执行特定操作。在Firebase中,您需要为此使用Firebase身份验证。如果您不想提示用户输入凭据,则可以使用anonymous authentication。
一旦您认识了用户,就可以确保他们只能执行其授权的操作。您可以在自定义后端(例如Cloud Functions)中执行此操作。但是,我始终会首先考虑Firebase的内置安全规则。这些是在服务器端进行评估的,并提供了一种相当简单的方法来授权访问。由于语法取决于您使用的数据库,因此这里是Firebase Realtime Database和Cloud Firestore的文档。
另请参阅: