我正在考虑在一个项目中使用谷歌的Firebase数据库,但我有点担心这些数据的安全性。
正如我所理解的流程,基于web(或移动)的应用程序将包含ClientID的副本,并在用户对数据库进行身份验证时使用该副本。由于没有显式服务器,因此无法隐藏该ClientID。
恶意用户可以使用自己的应用程序提取ClientID并连接到数据库,然后可能损坏数据库。
在安全性方面,这与OAuth 2的隐式流类似吗?我有妄想症吗?
发布于 2017-12-21 18:58:39
您不应该使用直接数据库访问来设计应用程序。您应该在服务器上构建一个API,它将代理所有数据库请求。
例如,当您访问网站时,该网站,服务器端,是连接到数据库和服务您的数据,你不能直接连接到你的网页应用程序运行在你的浏览器。
这不像浏览器下载一个连接到数据库的javascript网站。这是错误的流程,错误的设计,它不应该这样做没有服务器。
在这里阅读有关多层应用程序的内容:https://en.wikipedia.org/wiki/Multitier_建筑
https://security.stackexchange.com/questions/175925
复制相似问题