Если вы действительно хотите запретить плохим клиентам доступ к данным, к которым им не следует обращаться, вам нужно будет использовать правила безопасности для обеспечения этого. Это единственный способ заставить клиента играть по вашим правилам.
Например, чтобы запретить клиентам когда-либо читать какой-либо документ старше текущего времени, а у вас есть временная метка, хранящаяся как поле с именем «timestamp» в документ в коллекции под названием "c":
match /c/{id} {
allow read: if resource.data.timestamp > request.time;
}
Чтобы удовлетворить этот запрос, клиент должен запрашивать только те документы, где отметка времени> firebase.firestore.FieldValue.serverTimestamp()
. Все другие запросы к коллекции "c" завершатся неудачно с ошибкой разрешения.
Без строгих правил безопасности или некоторого внутреннего кода, обеспечивающего ограничения, которые вы хотите наложить, вы должны предполагать, что клиент может и получит доступ к данным, независимо от того, что их часы или ваш код говорит.