2017-11-23 10 views
0

나는 PK 을 가진 사용자를 식별하기 때문에 이런 종류의 데이터베이스 구조가 좋은지 직접 물어볼 것입니다. 나는 그것이 정말로 위험한 존재인지 알지 못한다. Firebase 데이터베이스 구조체 UID

{ 
 
    "Users" : { 
 
    "7idb6ThWR8aqmnEHFao5GRCV1kI3" : { 
 
     "dPicture" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Profile_images%2Fcropped1465266876.jpg?alt=media&token=44f83fdf-935a-4b3c-8138-561dcba2fca7", 
 
     "status" : "hi my name is erik", 
 
     "uid" : "7idb6ThWR8aqmnEHFao5GRCV1kI3", 
 
     "username" : "erik" 
 
    } 
 
    }, 
 
    "posts" : { 
 
    "-KfsrGsY8TWb2wiMFtAq" : { 
 
     "dPicture" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Profile_images%2Fcropped1465266876.jpg?alt=media&token=44f83fdf-935a-4b3c-8138-561dcba2fca7", 
 
     "image" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Post_Images%2Fcropped1354055061.jpg?alt=media&token=77fbc9ed-4356-43c1-b7bb-9563300a8b7b", 
 
     "small_title" : "tes", 
 
     "summary" : "tes", 
 
     "title" : "tes", 
 
     "uid" : "7idb6ThWR8aqmnEHFao5GRCV1kI3", 
 
     "username" : "erik" 
 
    } 
 
    } 
 
}

답변

1

그것은 위험하지 않습니다. 상위 수준에서 설정 한 보안은 아래로 이동합니다. Firebase 문서에서 :

.read 및 .write 규칙은 하향식에서 작동하며, 더 얕은 규칙은 보다 엄격한 규칙을 무시합니다. 규칙이 특정 경로 인 에서 읽기 또는 쓰기 권한을 부여하면 아래의 모든 하위 노드에 대한 액세스도 허용합니다.

말이 맞는지 ... 그건 당신에게 달려 있습니다. 데이터 구조 내부에서 키를 복제하는 데는 아무런 문제가 없지만 필요하지는 않습니다. 페이로드에서와 마찬가지로 키에서 데이터를 검색하는 것이 쉽습니다.

const data = await firebase.database().ref(`/Users/`).once('value'); 

const users = _.map(data.val(), (val, key) => { 
    return { 
    userId: key, 
    val.username, 
    val.dPicture, 
    val.status 
    }; 
});