【问题标题】:Is the PathProvider documents directory a secure location?PathProvider 文档目录是安全的位置吗?
【发布时间】:2017-06-18 16:16:10
【问题描述】:

谁能确认带有 Flutter 的 documents directory file storage method 是安全的,或者 AppData 目录是否是 Android 存储其内部存储文件的位置/方式?

我正在考虑在设备上存储一些持久的本地数据,但我想确保我写入的数据不是纯文本或任何人/任何其他人都可以访问。如果这是一个普通的 Android 应用程序,我会使用 Android 的 Internal Storage,它说存储的数据是“您的应用程序私有的,其他应用程序无法访问它们(用户也不能)。当用户卸载您的应用程序时,这些文件是删除。”

Flutter 有自己的平台无关方式来读写文件,它的文档说将内容保存到它的文档目录存储文件“只有它可以访问。系统只有在删除应用程序时才会清除目录。在 iOS 上,这对应 NSDocumentsDirectory。在 Android 上,这是 AppData 目录。"

看起来这些都在谈论同一件事,因此符合我的安全标准,但这些都是我不太熟悉的事情,我不想冒险使用我的用户数据。我尝试用谷歌搜索找出保存在 Android 上的“AppData”目录中的内容,但大多数人都在谈论他们的 Android Studio 安装。

【问题讨论】:

    标签: android security flutter


    【解决方案1】:

    是的,iOS 上的 NSDocumentDirectory 和 Android 上的 AppData 是安全位置。

    示例中的这一行为您提供了存储只能由您的应用访问的文件的正确路径:

    String dir = (await PathProvider.getApplicationDocumentsDirectory()).path;

    在 Android 上 dir 解析为/data/data/com.yourcompany.AppName/。在 iOS 设备上,该文件夹是 /var/mobile/Containers/Data/APP_ID/Documents

    查看Android Security Tips 内部存储部分:

    默认情况下,您在内部存储上创建的文件是可访问的 仅适用于您的应用程序。 Android 实现了这种保护,它是 对于大多数应用程序来说已经足够了。

    这里的例外情况是,当您的应用在有根的 Android 设备上运行时,应用数据文件夹不再安全,请参阅https://stackoverflow.com/a/8184699

    【讨论】:

    • 你好,这个目录下的数据更新后被删除了。知道该怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多