1

그래서 마지막으로 원하는 것은 데이터베이스에 액세스하지 않는 사람입니다. 내 앱 사용자는 데이터베이스에 키와 하위 항목 (사용자 프로필에 쉽게 액세스 할 수 있음)이있는 계정을 만들고 인증 계정도 만듭니다. 인증 된 사용자 만 데이터베이스에 액세스 할 수있는 데이터베이스 상태의 규칙. 인증 된 사람이 어쩌면 해킹을 통해 데이터베이스의 나머지 부분에 액세스 할 수 있습니까? 이것은 firebase를 사용하는 첫 번째 앱이며 사용자 정보가 보호되는지 확인하고자합니다.firebase 데이터 보안 유지

답변

1

에 따라 달라집니다..

규칙 인 경우 : 규칙의

// These rules require authentication 
{ 
    "rules": { 
    ".read": "auth != null", 
    ".write": "auth != null" 
    } 
} 

이런 종류의 전체 읽기를 허용하고 인증 된 사용자 앱에 대한 쓰기 권한을 부여합니다. 즉, 인증 된 사용자는 해킹없이 데이터베이스의 모든 데이터에 액세스 할 수 있습니다. 그것은하지만이 데이터의 사용자 계정의 소유자에 대한 쓰기 액세스 권한을 부여

{ 
    "rules": { 
    "users": { 
     "$user_id": { 
     // grants write access to the owner of this user account 
     // whose uid must exactly match the key ($user_id) 
     ".write": "$user_id === auth.uid" 
     } 
    } 
    } 
} 

:

당신은이 규칙에 비슷한 설정합니다.

이는 데이터의 각 노드에 대해 원하는 결과를 얻기 위해 규칙을 설정해야한다는 것을 의미합니다.

+0

사용자가 인증되면 규칙에 따라 읽기/쓰기 액세스가 가능하면 앱이 편집 할 수있는 것만 편집 할 수 있습니다. – XvKnightvX

+0

@XvKnightvX 안전하지 않습니다. 데이터에 대한 인증을받은 경우 다른 방법으로 액세스 할 수 있습니다. 예를 들어 데이터베이스의 URL 만 있으면됩니다. –

+0

그래, 당신이 답안에서 가지고있는 두 번째 규칙 세트와 비슷한 것을 사용할 필요가 있습니다. 이제 내 응용 프로그램에는 사용자 유형 (사용자 관리 소유자)이 있으며 각 개별 비즈니스에 대한 데이터 섹션과 모든 사용자 목록이 포함 된 데이터베이스의 별도 섹션이 있습니다. 사용자 역할에 따라 사용자가 액세스 할 수있는 데이터를 제한하는 방법은 무엇입니까? – XvKnightvX