我正在使用php和MYSQL。我创建了一个会员区,人们可以上传重要的图像(主要用于财务记录)。我希望得到一些关于存储这些文件的最佳方法的建议。什么样的文件夹结构最好? Ex domain.com/Files/UserName/RandomGeneratedName/Files。
还有对chmod,.htaccess,.htpassword和任何密码保护的建议。
提前致谢。
答案 0 :(得分:3)
我建议将它们存放在树外。通过这种方式,默认情况下您需要启用对它们的访问,而不是禁用访问权限(以防您的.htaccess / config /代码中存在错误,禁止访问文件,未启用)
其次,摆脱随机目录,它不会增加安全性,但它不必要地使实现复杂化
您可以使用php检查成员凭据,放置适当的标题(例如,mime类型,例如etag等),并通过passthru或类似内容提供文件。
答案 1 :(得分:1)
最佳方式:
例如: 您在domain.com/protecteddir/sdjasdu83299sdnYUsb.dat中有一个文件
您可以使用php / mysql将用户发送到虚拟目录以下载文件。您可以通过php抛出正确的文件头+文件名。因此,即使该文件名为sdjasdu83299sdnYUsb.dat,用户也会将其下载为“myfinancial.doc”
用户永远不会知道真实文件的位置及其名称。
您的.htaccess文件应包含:
<Files *>
Order Allow,Deny
Deny from All
</Files>
答案 2 :(得分:0)
你可以.htaccess进行URL重写并获取index.php文件(编写此代码:)在保存文件的文件夹中,所以当有人想要输入这个文件夹时: 第一:他不知道真正的地址 第二:因为有一个index.php提供给他无法进入的主页。