Pet*_*994 1 firebase firebase-security firebase-authentication firebase-realtime-database
我很好奇,如果用户能够将任何数据写入他们具有写权限的密钥.当然,通常这是通过他们正在使用的应用程序进行身份验证来完成的.但它受保护的程度如何?如果我连接到我的wifi,我可以使用篡改数据来更改正在发送的网络活动.
如上所述:firebase是否使用每个帐户的唯一密钥加密数据?它表示数据在写入数据库之前已加密.但是,当密钥没有"到达"Firebase时,这不包括更改密钥的值.
是否可以通过监控网络活动来改变价值,例如篡改数据?
另外,让我们说这些是一些规则:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
除了使用我的应用程序之外,用户还能以任何其他方式验证自己吗?如果经过身份验证的用户有写入规则,那么直接在数据库中更改值是多么容易?
谢谢
在您提供的规则中,用户可以将任意数据写入与其自身对应的节点uid,这只能通过使用Firebase身份验证形式登录获得(包括使用Firebase管理SDK创建自定义令牌服务器端) ).
100%的Firebase实时数据库流量通过TLS加密连接发送.这种交通无法在中间进行,并且在飞行中会改变它.
您可以信任Firebase数据库安全规则来完成它们的工作,但您可以编写可以充分保护给定应用程序用例数据的强大规则.我建议在任何地方都使用.validate结构规则和细粒度.write规则.要记住的另一个重要提示是授权是分层的.一旦.write规则与客户端匹配,该节点的所有子节点都可以由该客户端编写.
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |