【发布时间】:2017-03-06 09:42:09
【问题描述】:
对于我的 iOS 应用,我允许用户发出原则上类似于 Facebook 好友请求的好友请求。因此,某人可以有 x 个朋友。
我想阻止用户向同一用户发送多个好友请求,并希望通过在数据库规则中添加验证规则来做到这一点 - (我还没有探索拥有另一个列表的选项然而)
我目前的验证规则是防止用户向自己发送好友请求。
下面是数据库的结构,我需要检查“fromUid”和“toUid”的值是否已经成对存在。
"requests" : {
"-KUr12h72I4T2WiI4JG0" : { // autoChildId
"fromUid" : "etOdpR0wpKYNFrIP7BNirhCYuYo1",
"toUid" : "UeATHfKdjVYunsOt8L0TGxfCBTQ2"
}
我的当前规则禁止用户向自己发送好友请求
"requests": {
".read": "auth != null",
"$autoID": {
".validate": "newData.child('fromUid').val() != newData.child('toUid').val()"
}
},
那么,我如何验证“fromUid”值和“toUid”值尚未成对存在?即尚未提出此好友请求。
这是我对安全规则的失败尝试:
".validate": "&& newData.child('fromUid').val() + newData.child('toUid').val() !== data.child('fromUid').val() + data.child('toUid').val() && newData.child('toUid').val() + newData.child('fromUid').val() !== data.child('toUid').val() + data.child('fromUid').val()"
如果您需要更多信息或说明,请告诉我 谢谢
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security