Firebase的SQL注入版本

时间:2017-02-28 11:54:07

标签: firebase code-injection

在强大的SQL背景之后第一次使用firebase。我习惯使用像SELECT costumer.email, costumer.lastcode, reward.costumercode, reward.balance FROM (SELECT DISTINCT rewards.costumercode, MAX(rewards.balance) as balance FROM rewards GROUP BY 1) AS reward JOIN costumercode ON costumercode.id = reward.costumercode JOIN costumer ON costumer.id = costumercode.costumer 这样的函数来清理用户对查询的输入。

使用Firebase查找是否有任何标准方法可以执行类似操作?

例如:

addslashes()

我不知道用户能够在ref中进一步搜索是多么恶意,但也许这个问题已经解决了?或者我需要// 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}`) 我收到的任何输入吗?

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

1 个答案:

答案 0 :(得分:2)

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

Firebase提供了securitydata validation checks,可在您的应用中使用。 Firebase还在其数据库中提供规则,以确定哪些用户具有对数据库中哪些数据的写/读访问权。

有关详情,请参阅有关Firebase实时数据库的documentation

发现此帖子Adding Firebase data, dots and forward slashes可能会回答有关Firebase特定卫生的一些实际问题。