如何解决通过断开设备连接并仅使用缓存的文档来阻止用户绕过安全规则
我对使用Firebase脱机功能的应用程序存在以下担忧:
用户阅读文档,然后禁用设备的连接。下次他打开该应用程序时,该文档仍将被缓存,即使他可能不再具有阅读该文档的权限,他也可以阅读该文档。
一个具体的例子是,用户购买内容并在以后退款。即使内容已经退款,他也可以始终禁用设备的连接以将内容保留在本地。
现在,如果他在打开应用程序时发生几次,这不是问题,但据我了解,firestore缓存仅受大小限制,而不受持续时间限制,因此他可以无限期访问内容,只要他使用该应用程序时未建立连接。
是否有最佳实践来预防此问题?
可能的解决方案如下所示:检查设备是否连接,然后保存连接设备的最后日期。在打开的每个应用程序中,我们检查设备的上次连接时间是否超过某个阈值,如果是,请清除缓存或仅显示“建立连接”屏幕。这样的问题是,“诚实的”用户还需要定期重新连接。有更好的解决方案吗?
解决方法
Firestore安全规则仅在服务器上实施,而不在客户端上实施。文档到达客户端后,您应该假定该设备上的任何用户都可以访问它。
如果您希望采用其他方式来保护对该文档中内容的访问,请考虑使用另一种/不同的机制来保护它。根据您的描述,这可能是使用数字版权管理(DRM)软件的地方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。