2016-10-12 17 views
0

つまり、getExternalCacheDir()getCacheDir()によって返される場所。Androidアプリのキャッシュはどれくらい安全ですか?

特定の特権レベルの他のアプリケーションは、これらのディレクトリにアクセスできますか?これらにアクセスするには、電話を根付かせる必要がありますか?

ここには何が安全に保存できますか?そこに保存する必要があるものは何ですか?

答えて

0

他の特定の権限を持つアプリは、これらのディレクトリにアクセスできますか?

getExternalCacheDir()READ_EXTERNAL_STORAGEまたはWRITE_EXTERNAL_STORAGE権限を保持している任意のアプリからアクセス可能です。

getCacheDir()は、ユーザーがファイルシステム全体にアクセスするためにスーパーユーザー機能を利用するアプリケーションを明示的に使用するルートデバイスを除いて、あなたのアプリからのみアクセスできます。しかし、どのアプリもキャッシュをクリアするようにシステムをトリガーすることができるので、あるアプリではgetCacheDir()の削除権限を持つことができます。それがあなたに関係する場合は、getFilesDir()を使用してください。

携帯電話にアクセスするにはルーツを使用する必要がありますか?

getCacheDir()の場合(前述のクリアキャッシュシナリオを除く)。 getExternalCacheDir()については、

+0

素早い回答ありがとうございます。 getCacheDir()によって返されたディレクトリは、たとえばリモートAPI用の一時アクセストークンを格納するのに適していますか?それとも他の場所に保管したほうがいいですか? –

+0

@QuestionAsker:あなたがこれらのトークンの使用について心配している人と、誰かがトークンを取得した場合のリスクのレベルは何かによって異なります。常用のマルウェアアプリケーションが心配であり、トークンが例外的に価値があるわけではない場合、 'getCacheDir()'はうまくいくはずです。あなたが*トークンを盗むことを心配しているならば、それらをファイルに保持せず、それらをRAMに保持し、十分に専用の攻撃者がそれを得ることができることを認識してください(例えば、カーネルデバッガを使用してください)。 – CommonsWare

関連する問題