目前我的文件结构如下:
├── README.md
├── app
├── classes
├── composer.json
├── composer.lock
├── database
├── public
├── templates
├── users
└── vendor
在users
文件夹的内部,我有与登录用户的用户名相关的文件夹,每个文件夹都有自己定义的文件和文件夹。
我遇到的问题是我无法下载users
目录中的文件。目前,我通过移动users
目录中的public
目录来使用我的代码,但是存在明显的安全漏洞。我如何制作它,以便我的用户目录从根目录向上一层,如此处所示,但仍然可以被public
目录访问?
我已经尝试过使用RewriteRule users/ ../users/
,但似乎无效。我能够通过PHP访问users
目录,而不是public
文件夹中的前端控制器。
这是我的第一个"真实"使用Slim进行项目,所以我对整个前端控制器/ mvc类型的东西都很新。任何帮助都会很棒,谢谢!
答案 0 :(得分:1)
在您的路由逻辑或控制器中,您需要验证用户是否可以访问所述文件,然后很可能使用PHP来提供该文件,因为它无法在Web路径中访问。
在PHP中,您可以设置正确的HTTP标头,并使用readfile()向最终用户提供文件。