Firebase的SQL注入版本

在强大的SQL背景之后第一次使用firebase.我习惯使用诸如addslashes()之类的函数来清理用户对查询的输入.

有没有标准方法与Firebase查找做类似的事情?

例如:

// expected a key, not a path
var userProvidedKey = "3/malicious"

// will not be a ref to what I expect
var ref = firebase.database().ref(`something/${userProvidedKey}`)

我不知道用户能够在ref中进一步搜索是多么恶意,但是这个问题可能已经解决了吗?或者我需要.split(‘/’).shift()我收到的任何输入?

注意:使用JS SDK作为我的示例.

最佳答案 在进入数据库之前,应始终对输入/输出进行清理和验证.

Firebase提供securitydata validation checks以用于您的应用程序. Firebase还在其数据库中提供规则,以确定哪些用户具有对数据库中哪些数据的写入/读取访问权限.

有关更多信息,请阅读有关Firebase实时数据库的documentation.

找到了这个主题Adding Firebase data, dots and forward slashes,可能会回答有关Firebase特定卫生的一些实际问题.

点赞