用户文件组织Web服务器(User-files organization in a Web serv

2019-10-17 04:38发布

我正在开发一个Web应用程序,用户可以上传文件。

假设有不同的文件类型,如音频文档 。 我想我可以把所有的从一个独特的文件夹,例如类别所属的文件:

audio_dir
  -file_from_user1.mp3
  -another_file_from_user1.mp3
  -file_from_user2.mp3
  -file_from_user4.mp3
docs_dir
  -file_from_user1.doc
  -file_from_user5.pdf

我估计其他的解决方案使用了第三级,其中文件由用户进行分组。

audio_dir
  user1_dir
    -file_from_user1.mp3
  user2_dir
    -file_from_user2.mp3
  user4_dir
    -file_from_user4.mp3
docs_dir
  user1_dir
    -file_from_user1.doc
  user5_dir
    -file_from_user5.pdf

哪种解决方案是最好的? 请注意,我感兴趣的服务器的安全漏洞可扩展性

Answer 1:

在安全方面,你应该将文件保存在网站根目录之外。 这有效地避免了上传某人*.php*.pl*.py.htaccess或者基于HTTPD的配置,可能执行的任何其他executeablible脚本。 我也将通过文件名,虽然basename()写文件,以防止目录遍历攻击之前。

然后你就可以有一个PHP脚本提供服务的文件。 您也可以通过映射存储在SQL数据库的文件添加元数据的用户访问控制和文件的所有权。



文章来源: User-files organization in a Web server