我对我的应用程序使用firebase的离线功能有以下担忧:
用户读取文档,然后禁用设备的连接。下一次他打开应用程序时,文档仍被缓存,即使他可能不再拥有读取该文档的权限,他也可以读取该文档。
一个具体的例子是,如果用户购买了内容,然后再退款。他总是可以关闭设备的连接,以便将内容保留在本地,即使内容已经退款。
现在,如果他打开应用程序时这种情况发生了几次,这不是问题,但据我所知,firestore缓存只受大小限制,而不是持续时间,所以他可以无限期地访问内容,只要他在使用应用程序时没有建立连接。
是否有任何最佳实践来防止此问题?
一种可能的解决方案可能如下所示:检查设备是否连接,然后保存设备连接的最后日期。在每个打开的应用程序中,我们检查设备上一次连接的时间是否超过了某个阈值,如果是这样,则清除缓存或仅显示“建立连接”屏幕。这种方式的问题是,“诚实”的用户也需要定期重新连接。有没有更好的解决方案?
发布于 2020-09-09 22:45:56
Firestore安全规则仅在服务器上强制执行,而不在客户端上强制执行。一旦文档到达客户端,您就应该假定该设备上的任何用户都可以访问它。
如果您想要一种不同的方式来保护对该文档中内容的访问,请考虑使用另一种/不同的机制来保护它。根据您的描述,这里可能是使用数字版权管理(DRM)软件的地方。
https://stackoverflow.com/questions/63812319
复制相似问题