2017-12-17 2 views
0

Realm DB에 데이터를 저장하고 있는데 non-rooted 전화 사용자가 see/edit이 데이터인지 여부를 알고 싶었습니까?뿌리가 찍히지 않은 전화 android 사용자가 영역 DB에 저장된 데이터를 보거나 편집 할 수 있습니까?

non-rooted 전화에서 Shared pref/SQLite을 사용할 때 누구도 see/edit 데이터를 사용할 수 없으므로 보안상의 이유로이 점을 확인하고 있습니다.

+0

그들이 할 수있는 다양한 방법이 있습니다 (예 : 루팅). 휴대 전화 사용자로부터 데이터를 숨기는 것이 걱정된다면 클라이언트에 데이터를 보관하지 마십시오. –

+0

DB를 사용해야하는 이유는 무엇입니까? 또한 나는 단지 뿌리깊은 '전화 사용자를 최소한 at away 멀리 유지하고 싶다. –

+1

물리적으로 제어 할 수없는 장치에 데이터를 저장하는 경우 해당 하드웨어의 소유자가 손상된 것으로 간주하십시오. 다른 것은 문제를 요구하고 있습니다. 이 문제를 해결할 수있는 가장 쉬운 방법은 SD 카드에 앱을 설치하고 PC에서 SD 카드를 읽는 것입니다. 또는 에뮬레이터에서 실행하면 에뮬레이터가 사전 루팅됩니다. –

답변

2

사용자가 데이터베이스를 볼 수있는 경우 데이터베이스를 저장 한 위치에 따라 다릅니다. 데이터베이스의 위치를 ​​수정하지 않으면 기본적으로 영역 데이터베이스는 SQLite db와 동일한 위치에 저장됩니다. 따라서 사용자는 파일을 볼 수 없어야합니다.

그러나 root없이 액세스 할 수있는 사용자 지정 폴더 (예 : sdcard)에 데이터베이스를 배치하면 사용자가 데이터베이스를 볼 수 있습니다.

안전을 위해 데이터베이스를 암호화 할 수 있습니다. 그것에 대해 자세히 알 수 있습니다. here

+0

암호화를 사용하는 기본 구성을 사용 중입니다. 그래서 그것은'non-rooted' 사용자에 의해 열리거나 편집 될 것인가? –

+0

루트가 아닌 사용자가 액세스 할 수없는/data/data/<패키지 이름>/파일/<데이터베이스 이름> .realm에 DB 파일이 저장되어 있으므로 루트가 아닌 사용자는이 파일을 볼 수 없습니다. –

관련 문제