我刚开始android开发。我在开发andorid时意识到了一些事情。我可以看到firebase中用户输入的内容等。这对其他应用程序也一样吗?如果你知道这件事,能告诉我吗?
tv6aics11#
如果您的应用代表您的用户将内容存储在Firebase的内容存储产品(Firestore、实时数据库、云存储等)中,那么您作为开发人员确实可以看到这些内容。如果您想防止这种情况,您必须在将内容写入Firebase之前对其进行加密,并将解密密钥存储在Firebase之外的某个地方。搜索Firebase end to end encryption以了解有关此的更多信息,包括前面的这些问题:
cxfofazt2#
这很正常。开发人员在开发和调试代码时需要查看用户数据。虽然你问的是Firebase,但它适用于所有数据库系统。但在生产系统中,对生产用户数据的访问通常是基于“需要访问”的基础上进行限制的。通常只有跟踪数据相关错误的开发人员和负责数据库健康的数据库管理员才能访问。用于控制访问的机制通常是两个级别:
因此,简而言之,如果您可以访问数据库,您就有很好的机会阅读并可能修改用户数据。请注意,大多数数据库引擎都有进一步的访问控制机制-例如加密列。此外,应用程序可能会进一步限制访问。一个常见的例子是存储密码哈希而不是明文密码。
2条答案
按热度按时间tv6aics11#
如果您的应用代表您的用户将内容存储在Firebase的内容存储产品(Firestore、实时数据库、云存储等)中,那么您作为开发人员确实可以看到这些内容。
如果您想防止这种情况,您必须在将内容写入Firebase之前对其进行加密,并将解密密钥存储在Firebase之外的某个地方。搜索Firebase end to end encryption以了解有关此的更多信息,包括前面的这些问题:
cxfofazt2#
这很正常。开发人员在开发和调试代码时需要查看用户数据。虽然你问的是Firebase,但它适用于所有数据库系统。
但在生产系统中,对生产用户数据的访问通常是基于“需要访问”的基础上进行限制的。通常只有跟踪数据相关错误的开发人员和负责数据库健康的数据库管理员才能访问。
用于控制访问的机制通常是两个级别:
因此,简而言之,如果您可以访问数据库,您就有很好的机会阅读并可能修改用户数据。请注意,大多数数据库引擎都有进一步的访问控制机制-例如加密列。此外,应用程序可能会进一步限制访问。一个常见的例子是存储密码哈希而不是明文密码。