使用规则与前端在firebase数据库中进行数据验证有什么区别?

时间:2017-05-23 03:25:36

标签: swift security firebase firebase-realtime-database firebase-security

我正在学习使用iOS上的Firebase构建项目。我正在查看security页面,我注意到了使用规则的数据验证。到目前为止,我一直在前端进行数据验证(意味着在我的应用程序上使用Swift进行验证)。

firebase文档中还有一个关于数据验证的例子。我也可以使用swift进行相同的验证。

   {
  "rules": {
    "foo": {
      ".validate": "newData.isString() && newData.val().length < 100"
    }
  }
}

这两种数据验证方法有什么区别?

何时使用另一个的优势或用例是什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

恶意客户端可以绕过前端的数据验证。无法避免服务器上的数据验证。

服务器上的数据验证需要往返服务器。另一方面:客户端上的数据验证不需要往返。

一般来说,我建议在客户端和服务器上进行数据验证。服务器上的数据验证可确保数据有效,而客户端上的数据验证可确保最佳用户体验。