有必要加密客户端激活的Firebase功能数据吗?



我使用Flutter/Firestore/Cloud Functions

假设我想通过一个事务更新一个用户的余额。我将在google的cloud_functions包的帮助下从客户端调用Firebase函数:

Future updateBalance(amount)async{
dynamic resp = await balanceUpdate.call(<String, dynamic>{
'amount': amount
});
return resp.data;
}

攻击者是否有可能中间人调用函数并更改参数?这里是amount。(例如:攻击者提交了一笔5美元的交易,并编辑了对函数的调用,将其更改为500美元)。

如果这是不可能的,应该使用加密无论如何只是为了安全,或者它不是必要的?

可调用函数只是公共HTTP函数,任何人都可以使用文档化的HTTP协议调用它。任何人都可以调用它们并传递他们想要的任何参数。

额外的加密在这里没有帮助。该函数的API实际上是公开的,并且很容易从应用程序自己的代码和行为中进行反向工程。如果你不希望别人使用任意值调用你的函数,你的函数应该有一些代码来验证用户和传递的参数。

最新更新