作者:苦--但是依然love着你 | 来源:互联网 | 2023-05-18 14:54
我正在考虑将Firebase用于项目,但似乎无法找到有关服务器端数据验证的任何信息.
让我们说我正在做一个游戏,一个玩家对另一个玩家造成伤害我想验证以下内容:
球员实际上彼此接近
伤害点对应于给出的攻击
数据没有从客户端篡改到服务器
等等.
是否有可能验证这种东西/直接使用Firebase添加服务器端逻辑,还是我必须制作一个中间服务器,基本上粉碎了使用Firebase的重点?
在此先感谢乔纳斯
1> Frank van Pu..:
使用Firebase绝对可以验证数据.它是"安全"规则的一部分,可以在此处和此处找到文档.
上一个文档链接的一个简单示例:
样本.validate规则定义,仅允许使用正则表达式检查的年份为1900-2099的YYYY-MM-DD格式的日期.
".validate": "newData.isString() &&
newData.val().matches(/^(19|20)[0-9][0-9][-\\/. ](0[1-9]|1[012])[-\\/. ](0[1-9]|[12][0-9]|3[01])$/)"
您可以构建非常复杂的验证规则.如果您需要这些,您可能需要查看Firebase的blaze编译器.它将更高级别的语言翻译为Firebase相对较低级别的规则.blaze编译器的作者最初是为你的第二个和第三个用例编写的,并在这里写了一篇关于它的文章.
我希望这些足以让你开始.如果您遇到困难,只需使用您尝试的规则发布问题.