Я работаю над приложением, которое загружает и скачивает фотографии / видео на сервер для совместного использования пользователями (пользователь отправляет изображение своим друзьям, и они появляются в собственной ленте активности).
Проблема, с которой я сталкиваюсь, заключается в том, что все эти изображения хранятся на веб-сервере, это означает, что они видны, когда я просматриваю мой сервер через веб-браузер, и это приводит к проблеме конфиденциальности / безопасности, потому что любой, кто вводит правильный путь (например, «myserver»). com / android / pictures / pic_001.jpg) можете увидеть картинку.
Итак, мне интересно, можно ли скрыть / заблокировать все эти файлы из веб-браузера, но сделать их по-прежнему доступными через приложение для Android?
И да и нет. Файлы должны где-то находиться, однако вы можете настроить правило htaccess для каталога (при условии, что apache), которое гласит, что пользовательский агент должен соответствовать тому, что отправляет ваш клиент Android, когда он делает запрос (если не уверены, почему бы не установить пользовательский пользовательский агент для запроса Android?)
Это будет работать только до тех пор, пока пользователи не достаточно опытны, чтобы знать путь к изображению. Единственный другой вариант — потоковая передача изображения, когда встречается ключ API / некоторый параметр аутентификации (чтение файла в PHP и вывод правильного заголовка и содержимого файла в браузер). Хотя это не идеально, это будет работать (хотя и очень дорого на вашем процессоре PHP)
Вы можете создать веб-сервис, затем вместо того, чтобы показывать папки, содержащие изображения, вы можете открывать веб-сервис и, используя (де) сериализацию, вы можете иметь их в своем приложении, пока картинки не доступны напрямую с веб-сервера.