在SO answer之后,不允许运行Apache
的用户写入任何文件。从安全角度来看,这是非常好的,但是如何允许文件上传的PHP
Web应用程序可以使用这样的设置?
虚拟化工具,如linux-vserver
或OpenVZ
(如建议的here)将是一种替代方案,但我不确定性能如何,{{1 }}框已经在linux
内运行。
我想到的另一种方法是使用在virtual machine
文件夹上具有写权限的用户下运行的进程,让我的uploads
脚本通过PHP
与之通信
我倾向于第二种解决方案,但是在我开始开发该应用程序之前,在我使其正常工作并且没有崩溃之前将我的头撞到墙上几次,我想知道是否有更简单的解决方案对此。
答案 0 :(得分:1)
通过对单个uploads文件夹的写访问权给予用户或组php代码,并禁用该目录的php执行。
如果你正在使用mod_php,它将是Apache用户。
如果您使用的是php-fpm,它可以默认给Apache用户,但它肯定可以更改(即使每个池,如果你有不同的应用程序/站点的多个池)