Вы должны использовать страницу PHP для управления доступом к ресурсам, вместо того, чтобы каталог / files / обслуживал содержимое напрямую через веб-сервер.
Например, простая страница PHP может читать файлиз файловой системы и подайте его так, чтобы он был загружен в браузер.
http://www.higherpass.com/php/Tutorials/File-Download-Security/
Вы хотели бы обеспечить:
Толькодопустимые файлы могут быть загружены
Запрос от действительного аутентифицированного пользователя, которому разрешен доступ к запрошенному файлу
Простой пример того, чтоURL уязвим для обхода каталога в параметре файла.Вы должны проверить любое имя файла, которое передается вашему скрипту PHP, чтобы защитить от атак типа "../ .."Это может на самом деле стать довольно сложным.
Что может сработать для вас, так это наличие системы токенов, в которой на файлы ссылается уникальный сложный случайный токен.База данных хранит фактическое местоположение файла в файловой системе, и когда запрос получен, такой как /download.php?token=blah ... вы ищите a) расположение файла, на который ссылается токен "бла", и b) чтосеансу вызывающего пользователя разрешен доступ к файлу.Если все хорошо, предоставьте файл пользователю, в противном случае выдайте ошибку и зарегистрируйте незаконный доступ.