当php脚本需要操作文件时,我应该使用suPHP还是DSO(mod_PHP)?

我最近问了一个关于StackOverflow的问题,我将在这里重新提出这个问题,作为一个不同的问题,以及一些更改和其他信息。

我有一堆PHP脚本,需要能够创build,移动和删除文件和文件夹。 这些脚本还需要移动和删除从Windows机器通过FTP上传的文件。

我的VPS目前使用DSO,所以为了让我的脚本能够执行,并且不会因为许可错误而死掉,我一直不得不将CHMOD所有的目录和文件都改成777。

从我读过的,使用777权限是不安全的,不应该这样做。 我有一个VPS,但有多个用户,因为我托pipe了一些网站,其中一些网站是其他人控制的。

我可能会提到我运行phpinfo()并在“PHP Credits”一节中find了以下内容:

User/Group nobody(99)/99 

我一直在阅读关于文件操作的主题,通过PHP和SUPHP与DSO,但我仍然不确定我应该做什么。 从我读到的,似乎切换到suPHP将解决我所有的问题(没有更多的权限问题),但我读过,它大大减慢了服务器。

任何人都可以就这件事给我任何build议吗?

从我读过的,似乎切换到suPHP将解决我所有的问题(没有更多的权限问题)

是的,suPHP将解决所有权限相关的问题,只要你没有任何东西CHMOD 0777 – suPHP会拒绝这个巨大的安全漏洞,并填写你的error_log告诉你最多改变到0755。

最好的想法是这样的:

  • 没有suPHP = PHP作为“普通”用户运行,而不是像你有家庭佣工一样。 你要求家佣帮你拿东西,但如果你要求他们做特别需要你的事情(签订合同 – >写文件),他们将无法做到。
  • suPHP允许你尽可能多的家务助理,但他们都假装是你。 他们可以做你所能做的一切,不多也不less。 没问题!

我读过,它大大减慢了服务器。

哪里? 我从来不知道这是一个问题。

总结 :切换到suPHP。