添加firebase firestore的数据读取限制
我们有一个使用Firestore的iOS应用程序。该应用程序只读取数据(不写入),我们没有用户帐户,数据库中的任何内容都不需要保护。出于这个原因,我们使用了这些幼稚的安全规则添加firebase firestore的数据读取限制,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我们有一个使用Firestore的iOS应用程序。该应用程序只读取数据(不写入),我们没有用户帐户,数据库中的任何内容都不需要保护。出于这个原因,我们使用了这些幼稚的安全规则 service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read; } } } 然而,Firebase已经警告我们(当然,有充分的理由)这会使我们处于
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read;
}
}
}
然而,Firebase已经警告我们(当然,有充分的理由)这会使我们处于风险之中,原因有两个:
一旦您允许对文档进行读取访问,就没有办法限制特定客户端应用程序的读取速率。有了完全公开的阅读规则,互联网上的每个人都可以反复阅读文件来增加账单。然而,发生这种情况的可能性非常小,你应该向他们报告那些看似虐待的行为 您可以通过调用希望客户端能够阅读的单个顶级集合来消除警告消息。因为Firebase不知道您可能希望允许或不允许访问哪些集合,所以您应该明确。例如,对于每个集合,类似以下内容:
match /collection1/{document=**} {
allow read;
}
match /collection2/{document=**} {
allow read;
}
如果您这样做,请确保删除您现在拥有的允许访问所有文档的规则。一旦您允许对文档进行读取访问,就没有办法限制特定客户端应用的读取速率。有了完全公开的阅读规则,互联网上的每个人都可以反复阅读文件来增加账单。然而,发生这种情况的可能性非常小,你应该向他们报告那些看似虐待的行为 您可以通过调用希望客户端能够阅读的单个顶级集合来消除警告消息。因为Firebase不知道您可能希望允许或不允许访问哪些集合,所以您应该明确。例如,对于每个集合,类似以下内容:
match /collection1/{document=**} {
allow read;
}
match /collection2/{document=**} {
allow read;
}
如果您这样做,请务必删除您现在允许访问所有文档的规则。
< P>如果只是只读操作,则可以考虑使用,因为远程配置完全免费。 但是,如果有必要为您的场景使用FielSt店数据库,那么考虑FielBaseAdvor登录并设置以下安全规则rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /collection_name/{documentId} {
allow read: if request.auth.uid != null;
allow write: if false;
}
}
}
<>如果只是只读操作,那么可以考虑使用,因为远程配置完全免费。 但是,如果有必要为您的场景使用FielSt店数据库,那么考虑FielBaseAdvor登录并设置以下安全规则
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /collection_name/{documentId} {
allow read: if request.auth.uid != null;
allow write: if false;
}
}
}