Безопасно ли разделять весь путь с 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. То, что вы предложили, - это безопасный способ предоставления приложениям доступа к вашим файлам.

Другие вопросы по тегам