0

使用 PhoneGap 3.2 和 File API,我正在下载一组图像以在应用程序中显示。我创建了一个名为“Appname”的文件夹并将所有文件放在那里。在 Android 上,可以通过文件管理器访问此文件夹,在某些型号上,图像会显示在用户图片库中。

是否可以在本地保存文件,但阻止它们显示给应用程序之外的用户?

4

1 回答 1

1

从技术上讲,没有。特别是如果客户端具有 root 访问权限。

您可以尝试以下方法来缓解问题:

a) 将文件命名为以点 (.) 开头,以便将其识别为隐藏文件。(不过,配置为显示隐藏文件的文件管理器可以显示它)。

b) 将文件存储在 /data/data/your.app.packages 路径中的某些数据库中,默认情况下只有您的应用程序可以访问该路径。(仍然是 root 用户可以看到它)。

c) 一个 linux 技巧。创建一个文件,打开它,保存文件描述符但删除文件。通过这种方式,文件从目录结构中删除,这样它就不会出现在 FS 层中(因此无法访问)。要使其永久化,请使用您持有的文件描述符来创建链接(或深入/proc目录树以与fd.

由于这个技巧适用于 linux,我想它应该适用于 Android。但这可能是矫枉过正。

d) 其他权宜之计包括加密、混淆等。但它们并不完全属于您正在寻找的那种。

于 2014-05-02T07:55:58.460 回答