Firebase 的 SQL 注入版本

fun*_*kju 5 code-injection firebase

有了深厚的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}`)
Run Code Online (Sandbox Code Playgroud)

我不知道用户能够在参考中进一步搜索会有多恶意,但也许这个问题已经解决了?或者我需要收到.split('/').shift()我收到的任何信息吗?

注意:我的示例使用 JS SDK。

uzr*_*uzr 2

输入/输出在进入数据库之前应始终进行清理和验证。

Firebase 提供在您的应用程序中使用的安全数据验证检查。Firebase 还在其数据库中提供规则来确定哪些用户对数据库中的哪些数据具有写入/读取访问权限。

有关更多信息,请阅读有关 Firebase 实时数据库的文档。

找到了这个线程添加 Firebase 数据、点和正斜杠,这可能会回答有关 Firebase 特定卫生的一些实际问题。