我正在建立一个网站,工作在一个平衡系统,用户将支付我和他们在网站上的余额将被更新。他们可以使用这个余额来购买网站上的物品。我正在用这个表格储存它们的余额:
root
----users
--------<uid>
------------balance: 10...
根据这些规则:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
当用户在网站上购买一些东西时,我希望系统能够自动从他们在防火墙中的余额中减去一个值,但根据我目前的规则,一个了解firebase知识的恶意用户将能够编写自己的应用程序来编辑他们的余额。
有没有办法让我的应用能够自动更新他们的余额时,他们的存款或购买的方式是安全的,谁也不能做?
注:我是新来的消防基地。
发布于 2017-03-12 21:33:16
您可能想了解一下Firebase的云功能,以便在安全的环境中编写一些后端代码。您可以编写一个云函数,在用户拥有该访问权限的数据库位置上触发写入。然后,当您的函数触发时,它可以访问一个"admin“引用,该引用可以对用户只能读取的其他数据库位置进行写入访问。
通过这种方式,您可以有效地实现某种“命令队列”,这样您的用户所采取的操作就可以在数据库中的任何地方进行更改,只使用您控制的逻辑。
https://stackoverflow.com/questions/42751896
复制相似问题