我正在开发一个网络项目,在不同的应用程序中分开(使用SSO让用户同时登录所有应用程序),用户可以在其中上传所有应用程序中的文件。
问题是,每个应用程序都以自己的方式将文件上传到自己的位置,使服务器混乱并丢失对哪个文件所属的跟踪。
我想为此开发一个组件,以便通过它上传所有应用并跟踪每个用户配额,文件等。
我自己可以弄清楚如何做到这一点,我想知道这样做是否有好的做法。有没有我能读的文章?有没有可用的系统? 另外,如果你想知道的话,我是用PHP做的。
答案 0 :(得分:1)
你需要的第一件事是开始:)因为这毕竟是编程,试验和错误。您可能会发现自己已经完成了重新开始的任务的一半,但这是在工作描述中。
但我同意在你开始之前制定一个计划是非常有用的。我不知道任何涵盖良好做法和正确行事标准的教程,但我会尝试给你一些提示。
<FilesMatch ".(htaccess|htpasswd|php|js|exe|bat)$"> // extentions to block
Order Allow,Deny
Deny from all
</FilesMatch>
您还可以考虑使用白名单而不是黑名单。
如果您有大量文件,则可以以哈希表的形式创建文件夹结构。例如,您可以删除非字母数字字符,并根据文件的第一个字母创建2个级别的文件夹。
示例:强>
test_image.png =&gt;上传/ app_x /t/e/
test_image.png
another_img.png =&gt;上传/ app_x /a/n/
test_image.png
您也可以使用此日期(例如 wordpress ):
test_image.png =&gt;上传/ app_x /2013/02/27/
test_image.png
another_img.png =&gt;上传/ app_x /2013/02/26/
test_image.png
如果您有用户上传的文件,您可能需要为每个用户创建一个文件夹( uploads / app_y / user_x / his_file.pdf )。
这将使查找服务器上的文件更快。在开始之前考虑文件夹结构是件好事,考虑所有可能类型的文件是件好事。
我回家后会继续这份清单,但这应该是值得深思的。