Безопасно ли разделять весь путь с FileProvider?
Я работаю над библиотекой, в которой я реализую FileProvider из поддержки Android и хочу, чтобы разработчик мог легко обмениваться файлами из любого из external-path
, external-cache-path
, cache-path
, Если я сам предоставляю пути, возникает вопрос, создаю ли я какие-либо проблемы безопасности, если я объявляю общий доступ к корню каждого из этих путей следующим образом:
<?xml version="1.0" encoding="UTF-8" ?>
<paths>
<external-path name="external_files" path="." />
<cache-path name="internal_cache" path="." />
<external-cache-path name="external_cache" path="." />
</paths>
Мне еще нужно позвонить getUriForFile(..)
чтобы получить фактический URI правильно? Может ли кто-то угадать имя файла по этому пути в исходном содержимом URI, а затем получить к нему доступ, или делает getUriForFile
сделать что-то особенное для предоставления доступа к этому конкретному файлу?
1 ответ
getUriForFile()
возвращает защищенный Uri для доступа только к этому файлу. FileProvider предоставляет доступ к одному файлу на Uri. То, что вы предложили, - это безопасный способ предоставления приложениям доступа к вашим файлам.