Had*_*wan 11 javascript security real-time firebase firebase-realtime-database
Firebase 在手机上非常有意义。但不适用于网络,每个人都知道
我想在新闻提要、书签帖子和帖子草稿上实现监听器,以便用户可以继续通过电话进行编辑。是的,我知道安全规则确实保护了数据库,因此没有人可以读取其他用户的数据。但它并不能保护我免受虐待。
是否有另一种方法可以在不牺牲安全性的情况下利用实时同步?除了使用云功能每分钟或点击检查链接。
我遇到了同样的问题,并找到了一个解决方案,至少可以有效地限制 firebase 中公开可写数据的长度。
假设您有一个聊天框数据库,用于保存用户的姓名和消息。
service cloud.firestore {
match /databases/{database}/documents {
match /chatroom/{document=**} {
allow read: if true;
allow write: if resource.data.message.length <= 260 && resource.data.name.length <= 20;
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用此限制,我至少可以有效地删除试图用请求淹没数据库的请求。(请注意,这不会限制写入内容的长度,但会放弃尝试)请参阅:How to limit string length in firebase
对于仅通过人工监听器读取数据的 DOS,我认为这不会构成很大的向量,因为攻击在网络流量和计算方面与受害者的成本大致相同。
基本上,Firebase 的大部分弹性来自于设置良好的访问规则。如今,每个较大的应用程序都要求您以某种形式进行身份验证,因此,如果您只需要一些身份验证(例如 googleauth)来读/写数据库,您可能永远不必担心 DOS。
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |