保护Firestore/Firebase免受垃圾信息的正确方法包括以下几个步骤:
service cloud.firestore {
match /databases/{database}/documents {
match /collection/{document} {
allow write: if request.resource.data.keys().hasAll(['field1', 'field2', 'field3']) &&
request.resource.data.field1 is string &&
request.resource.data.field2 is int &&
request.resource.data.field3 is bool;
}
}
}
在上面的示例中,field1
,field2
和field3
是需要验证的字段,并且它们的类型分别为字符串、整数和布尔值。如果写入的数据不满足这些验证条件,Firestore将拒绝写入操作。
service cloud.firestore {
match /databases/{database}/documents {
match /collection/{document} {
allow write: if request.auth != null && request.auth.token.admin == true;
}
}
}
在上面的示例中,只有在用户已经通过身份验证,并且其身份验证令牌中的admin
字段为true
时,才允许写入数据。其他用户将被拒绝写入操作。
综上所述,通过数据验证、访问控制和额外的防护措施,可以有效保护Firestore/Firebase免受垃圾信息的影响。
请注意,上述示例代码仅用于演示目的,实际使用时需要根据具体需求和安全考虑进行适当的调整和扩展。