0

我几乎可以肯定 PHP 总是能够在服务器上的任何位置对任何文件执行任何操作,但我想知道是否有一种方法可以将其限制为仅在一个文件夹中工作以及有什么要求?

我的意思是我有 50 个 WordPress 安装,50 个文件夹。如果来自不受信任插件的病毒仅影响 1 个安装 - 它也会立即传播到其他 49 个(因为 PHP 可以扫描服务器上的所有目录)。

有什么办法可以防止这种情况发生吗?如果病毒闯入 WordPress 的 1 个安装 - 我希望它只留在那里。

我的托管服务提供商说不购买另一台服务器是不可能的。你有什么意见?

4

2 回答 2

5

使用 php-fpm,您可以chroot php workers(用于绝对分离)并为每个 php 应用程序提供自己的用户和 php 配置(超时、内存限制等)。您不必使用 chroot 来拥有唯一用户。使用简单的文件权限,您可以使除该 webroot 的专用用户之外的任何人都无法读取该 webroot。这也不是特定于 Apache,适用于任何其他支持 fastcgi 的网络服务器。

更容易设置的方式可能是在 php 的open_basediropen_basedir上进行中继(由于 php 的开发人员经常修复与此功能相关的错误,因此安全性存在争议)

于 2012-08-03T10:25:55.630 回答
3

您可以安装suEXEC并以 FastCGI 模式运行 PHP。使用此配置,您可以在不同的用户下运行 PHP 实例。

我自己没有尝试过本教程,但对我来说看起来不错:如何在 Debian 上使用 suEXEC 设置 PHP FastCGI

于 2012-08-03T10:18:11.963 回答