如何检查用户是否输入了正确的密码来加入聊天。
这种方法可能完全不合适。这段代码只是为了展示我想要完成的东西,但它根本不起作用。
val ref = FirebaseDatabase.getInstance().getReference("chats")
ref.child(chatName).child("password").equalTo(password).addListenerForSingleValueEvent(
override fun onDataChange(snapshot: DataSnapshot) {
Log.d(TAG, snapshot.toString())
// if there is data the password was right
}
....
)
如何安全地完成整个加密与密码系统的聊天?我必须设置什么样的规则到数据库。
是否可以使用rooted phone更改firebase查询并查看在客户端和服务器之间传输的数据?
答案 0 :(得分:1)
如果您想使用密码保护每个聊天室,可以选择将该密码嵌入聊天室的路径中。例如:
chats: {
roomId1: {
secret: {
chat11: ...
chat12: ...
}
}
roomId2: {
correcthorsebatterystaple: {
chat21: ...
chat22: ...
}
}
使用以下规则保护此结构:
{
"rules": {
".read": false,
"chats": {
"$roomId": {
"$password: {
".read": true
}
}
}
}
}
通过这种结构,没有人可以阅读房间列表,甚至是特定房间。为了能够阅读,他们必须知道房间ID和该房间的密码。