我应该如何使用 PHP 处理图像上传?
我应该如何处理 chmod 设置?
例子;
我有一个名为 /image/ 的目录,我想在其中上传所有图像。
我应该将此目录设置为 chmod 777 并保留它吗?或者每次我需要上传图像时,我是否应该通过 PHP 更改该文件夹上的 chmod。这是正确的,还是我应该做其他事情?
我应该如何使用 PHP 处理图像上传?
我应该如何处理 chmod 设置?
例子;
我有一个名为 /image/ 的目录,我想在其中上传所有图像。
我应该将此目录设置为 chmod 777 并保留它吗?或者每次我需要上传图像时,我是否应该通过 PHP 更改该文件夹上的 chmod。这是正确的,还是我应该做其他事情?
正如 phpdeveloper 提到的,设置一次 chmod 就足够了。所有后续对该目录的写入都不会更改目录权限,除非您明确将其更改为其他地方的另一个权限。
*nix 服务器上目录的推荐权限为 755。不建议将权限设置为 777。正如 wic 所提到的,它为有权访问您服务器的每个人提供完全权限。如果您使用共享主机或与其他用户共享服务器,这将使其容易受到攻击。
还要注意的是 PHP 如何在您的服务器上运行。实际上,如果您将 PHP 作为 cgi 运行,例如 suphp,则不允许目录的 777 权限。对您的脚本所在的目录拥有 777 权限将不会运行,而是在尝试执行它们时会导致“500 内部服务器错误”。
我建议 chmoding 到 755
只有运行 Web 服务器 dameon 的用户需要对目录的写入权限。而且您当然不希望对用户上传到的目录执行权限。
通常,文件夹设置设置一次,仅此而已。当您已经将文件夹权限设置为 777 时,继续通过 PHP 将文件夹权限设置为 777 是毫无意义的。
不,您不必每次都更改目录的权限。一旦设置,它们就可以这么说。
使用 777 太过分了,因为它为每个人提供了完全的权限。删除“x”位并让 apache(或任何人)拥有该目录。这使得无法列出文件。