Какова практика хранения файлов, загруженных пользователями?
В настоящее время я использую следующий способ хранения файлов:
<web_app_root>/course_material/<term_id>/<course_id>/<file_id>
Как видите, файлы хранятся в соответствии с ключами в базе данных. Я подумал, что это безопаснее, поскольку мне не нужно было фильтровать имена файлов и превращать небезопасные символы в безопасные.
Однако я начинаю новый проект и хотел знать, было ли плохой идеей связать файловую систему веб-приложения с базой данных. Должен ли я хранить файлы в более удобочитаемом формате?
<web_app_root>/course_material/<term_name_underscored>/<course_name_underscored>/<file_name_underscored>
Если это так, каковы лучшие способы отфильтровать имена файлов, чтобы быть безопасными? Или способ, которым я сейчас занимаюсь, - это лучшая практика?