我有一个与安全相关的问题,我在互联网上找不到太多信息。
假设我有一个"orders“集合,其中每个文档都是一个订单,并且假设当属性" paid”为true时,订单被认为是已支付的。现在,当用户下订单时,应用程序会创建一个订单文档(默认情况下使用paid=false ),并将其上传到firebase集合。为此,orders集合应该启用写权限,至少对经过身份验证的用户是这样。
现在的问题是(我来自web环境,但从未使用过firebase),用户是否可以操纵或篡改客户端的应用程序,以使订单具有"paid=true“,然后将其上传到firebase?这种风险是真的吗?
谢谢!
发布于 2020-10-15 23:46:58
您应该考虑到,在用户设备(web、移动设备或其他任何设备)上运行的任何代码都已被攻破,并且可能正在做攻击者想要做的任何事情。这意味着读取和写入数据库的任何代码都可能执行与预期不同的操作。您的安全规则需要对此进行防御。如果使用安全规则无法完成您想要做的事情,您将需要通过您控制的后端强制用户对系统的任何输入进行杀毒和验证。
https://stackoverflow.com/questions/64375144
复制相似问题