VPS上的Apache沙箱和文件上传

时间:2015-05-04 21:11:50

标签: php linux apache security

SO answer之后,不允许运行Apache的用户写入任何文件。从安全角度来看,这是非常好的,但是如何允许文件上传的PHP Web应用程序可以使用这样的设置?

虚拟化工具,如linux-vserverOpenVZ(如建议的here)将是一种替代方案,但我不确定性能如何,{{1 }}框已经在linux内运行。

我想到的另一种方法是使用在virtual machine文件夹上具有写权限的用户下运行的进程,让我的uploads脚本通过PHP与之通信

我倾向于第二种解决方案,但是在我开始开发该应用程序之前,在我使其正常工作并且没有崩溃之前将我的头撞到墙上几次,我想知道是否有更简单的解决方案对此。

1 个答案:

答案 0 :(得分:1)

通过对单个uploads文件夹的写访问权给予用户或组php代码,并禁用该目录的php执行。

如果你正在使用mod_php,它将是Apache用户。

如果您使用的是php-fpm,它可以默认给Apache用户,但它肯定可以更改(即使每个池,如果你有不同的应用程序/站点的多个池)