设置从单个IP到firestore的写次数限制?



我有以下功能,即连接到开关开/关是否有任何方法来限制该开关的潜在滥用?假设一个恶意的用户自动化了一个机器人,它会让图灵开关一直打开和关闭,导致firestore不断写入,问题的另一部分是我通过使用实时数据进行更改,所以这会导致雪球效应。如果达到一定数量的请求,是否有方法拒绝写到db,或者是否有更好的实践来处理这种情况?

const SetDisplayDay = (type: string, bool: boolean) => {
const docRef = doc(db, colDynamic(state.user)[0], _authContext.currentUser.uid);
const setDisplay = async () => {
await updateDoc(docRef, {
[type]: bool,
});
};
setDisplay().catch((error) => {
const errorCode = error.code;
alert(errorCode);
});
};

如果达到一定数量的请求,是否有方法拒绝写到db

不,如果你允许从web和移动客户端通过安全规则直接访问。

如果你想完全控制对Firestore的访问,你需要禁用web和移动访问(拒绝所有来自web和移动的读写),并通过一个你控制的后端API来强制它们,该API决定调用者是否应该有访问权。

参见:

  • 我可以在firestore中限制用户IP每分钟/天的读/写数量吗?
  • 我如何限制访问firestore数据库,只有来自特定域的请求?

最新更新