在Slim 3项目中,我的users文件夹应该放在哪里?



我目前正在使用Slim 3构建一个简单的文件托管脚本。目前,我的用户文件夹与我的公共目录处于同一级别。现在,我试图访问用户文件夹内的文件,我得到错误导致我的文档根无法访问我的用户文件夹。把用户文件夹放到公用文件夹是不是更好因为这是登录用户的公共信息?

这取决于这些文件是什么——它们是仅供特定用户使用还是可供所有用户使用。

当文件必须是私有的,你不能把它们放到公共的,很简单,因为每个人都可以破解url并访问它们。因此,您应该将它们放在任何data目录中,并使用/file/{username}/{name}之类的端点使它们可用。

在这样的端点,你可以很容易地附加头文件类型或是否应该下载或尝试显示在浏览器窗口。

任何你公开提供给web服务器的内容,默认情况下都会被当作任何其他资产来处理:

  • 它的URL基于实际的文件名
  • 如果你知道网址,你可以下载
  • 如果是.php文件,它将被执行

您当然可以解决所有这些问题(其中一些甚至可能与您的用例无关),但我不认为这是典型的用户管理目录树的理想布局。你现在的方法对我来说更有意义。

要访问这样的文件,你需要创建一个适当的下载脚本,使所有适当的检查(例如访问检查),从url匹配文件系统的东西,并提供资产作为静态文件。在Slim中,这意味着创建一个带参数的路由,并编写一个处理函数来完成所有这些工作。

最新更新