如何使用安全规则限制地火采石场的射程?

问题描述

所以我正在构建一个应用程序,它可以让附近的用户返回。

功能GeoFlutterFire库提供。

问题是我不想让某个人只用一个采石场就将数据库中的所有位置转储出去。

那么如何使用Firestore安全规则限制采石场的最大范围?

Here is my user document structure

解决方法

您将无法使用安全规则来执行此操作。您用于允许访问任何GeoFire查询的集合的规则将必须允许对所有文档的读取访问。一旦允许,您将允许任何人阅读整个馆藏中的所有文档。

如果需要控制查询的特定参数,则需要强制用户通过一个后端,该后端将检查参数,对查询进行限制,并仅返回允许的尽可能多的文档。就是说,仍然有人可以通过许多不同的参数调用后端以尝试获取所有文档,所以您真正要做的就是使其变得更加困难。