2010-02-26 41 views
6

我应该如何使用PHP处理图片上传?Chmod,php和imageupload

我应该如何处理chmod设置?

示例;

我有一个叫做/ image/dir的地方,我想上传我所有的图片。

我应该将这个目录设置为chmod 777并且保持它那样吗?或者我应该每次需要上传图像时通过PHP更改该文件夹的chmod。这是正确的,还是应该做其他事情?

回答

4

如前所述thephpdeveloper,设置CHMOD一次就够了。随后写入该目录的所有内容都不会更改目录权限,除非您明确地将其chmod改为其他权限。

* nix服务器上目录的推荐权限为755. 不建议将权限设置为777。正如wic所提到的,它给予有权访问服务器的每个人的完全权限。如果您在共享主机或与其他用户共享服务器,这会使其很容易受到攻击。

另外要注意的是如何在您的服务器上运行PHP。事实上,如果你以PHP的身份运行PHP,例如suphp,那么不允许777目录的权限。对脚本所在的目录拥有777权限将不会运行,而会在尝试执行它们时导致“500内部服务器错误”。

1

只有运行Web服务器dameon的用户需要写入目录的权限。你当然不希望用户上传的目录具有执行权限。

+0

我假设你使用php的网站,如果它的脚本支付这个不理会。 – rerun 2010-02-26 09:17:16

1

通常,文件夹设置被设置一次,就是这样。当您已经将它设置为777时,通过PHP继续将文件夹权限设置为777是没有意义的。

+0

因此将chmod设置为777作为目录没有任何坏处? (这适用于所有答案波纹管) – jamietelin 2010-02-26 09:24:43

+0

我也通过FTP上传图像有时候,不是“所有者”会比我通过PHP上传时不同吗? – jamietelin 2010-02-26 09:26:46

+0

所有者将是谁登录到FTP会话。 – rerun 2010-02-26 09:30:34

1

不,您不必每次都更改目录上的权限。一旦确定,他们就可以这么说了。

使用777是过度杀毒,因为它给予每个人完整的权限。删除'x'位并让apache(或其他人)拥有该目录。这使得列出文件成为不可能。

2

我建议chmoding 755