关于存储从用户上传的文件的最佳做法是什么?
目前,我正在使用以下存储文件的方法:
<web_app_root>/course_material/<term_id>/<course_id>/<file_id>
如您所见,文件是根据数据库中的键存储的。我认为这更安全,因为我不必过滤文件名并将不安全字符转换为安全字符。
但是,我正在开始一个新项目,并想知道将 Web 应用程序的文件系统与数据库如此紧密地联系起来是否是一个坏主意。我应该以更易于阅读的格式存储文件吗?
<web_app_root>/course_material/<term_name_underscored>/<course_name_underscored>/<file_name_underscored>
如果是这样,为了安全起见,过滤掉文件名的最佳方法是什么?还是我目前的做法是最佳做法?