Я хочу защитить папку загрузки в моем проекте codeigniter.
В этой папке для загрузки есть подпапка для каждого пользователя моего проекта. Пример
uploads/user1
uploads/user2
Теперь я хочу убедиться, что есть только один способ доступа, если пользователь вошел в систему.
Поэтому я редактирую файлы htaccess. для загрузки/
# Disable directory browsing
Options -Indexes
И для подпользовательских папок
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
Но это не сработает. Один раз у меня нет доступа ко всем или с другой стороны я могу получить доступ ко всем...
Можно ли узнать, что я делаю неправильно или есть лучший способ сделать?
Большое спасибо.
Если вы хотите разделить файл пользователей, попробуйте загрузить его в базу данных (если файл не больше).
это все виды файлов, включая большие видеофайлы, поэтому хранение в базе данных кажется не очень хорошим способом
затем вы должны лично хранить файлы выше корня или в безопасном месте, а затем иметь сценарий доступа (например, fetch_file.php) с уникальным идентификатором в URL-адресе (например, fetch_file.php?uid=1234). Если пользователю разрешен доступ к файлу с уникальным идентификатором 1234; предоставьте файл из сведений о местоположении в базе данных, в противном случае отклоните запрос. Таким образом, пользователь не может получить доступ к файлу без правильных разрешений, поскольку он надежно хранится над корнем, который не должен быть доступен из Интернета.






На основе комментария Рохита Бхадани
Теперь я храню файлы вне корневой папки httpdocs.
В моем проекте я использую файл для проверки авторизации пользователя для этого файла, и после этого файл доступа выводит вызываемый файл пользователю.
Поскольку вы настраиваете разрешение для всех, эти изменения могут повлиять на весь каталог. Вы должны попробовать код для изменения только одного каталога.