Android 摄像头和安全的提供程序路径
Android provider path for camera and security
我按照this article在我的应用程序中拍照,但是在文章中作者给出了FileProvider的路径.
。
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>
与 .
完全对应的内容是否是安全问题?
To what corresponds exactly .
指的是你的元素标识的目录。在the case of <external-path>
中,即Environment.getExternalStorageDirectory()
.
如果您使用 foo
而不是 .
,那将指向由您的元素标识的目录下的 foo/
子目录。
can it be a security issue?
仅当您在 Java 代码中做了一些非常奇怪的事情时。
一个FileProvider
无法导出。唯一可以访问该提供商提供的内容的是:
- 您的应用程序
- 您从应用程序中的 Java 代码授予权限的任何应用程序
通常,您通过 FLAG_GRANT_READ_URI_PERMISSION
and/or FLAG_GRANT_WRITE_URI_PERMISSION
在 Intent
上授予权限。这授予对一个应用程序的读取或写入访问权限,该应用程序为 Intent
中的 Uri
处理 Intent
。这是一个非常有限的权限授予,它是您成功使用 FileProvider
.
所必需的
如果您发现自己以其他方式向更多应用程序和更多内容授予权限,则可能存在安全问题。但是,同样,它与您的 Java 代码相关联,而不是 FileProvider
元数据。
我按照this article在我的应用程序中拍照,但是在文章中作者给出了FileProvider的路径.
。
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>
与 .
完全对应的内容是否是安全问题?
To what corresponds exactly
.
指的是你的元素标识的目录。在the case of <external-path>
中,即Environment.getExternalStorageDirectory()
.
如果您使用 foo
而不是 .
,那将指向由您的元素标识的目录下的 foo/
子目录。
can it be a security issue?
仅当您在 Java 代码中做了一些非常奇怪的事情时。
一个FileProvider
无法导出。唯一可以访问该提供商提供的内容的是:
- 您的应用程序
- 您从应用程序中的 Java 代码授予权限的任何应用程序
通常,您通过 FLAG_GRANT_READ_URI_PERMISSION
and/or FLAG_GRANT_WRITE_URI_PERMISSION
在 Intent
上授予权限。这授予对一个应用程序的读取或写入访问权限,该应用程序为 Intent
中的 Uri
处理 Intent
。这是一个非常有限的权限授予,它是您成功使用 FileProvider
.
如果您发现自己以其他方式向更多应用程序和更多内容授予权限,则可能存在安全问题。但是,同样,它与您的 Java 代码相关联,而不是 FileProvider
元数据。