【问题标题】:Chmod, php and imageuploadChmod、php 和图像上传
【发布时间】:2011-01-21 09:07:05
【问题描述】:

我应该如何使用 PHP 处理图片上传?

我应该如何处理 chmod 设置?

示例;

我有一个名为 /image/ 的目录,我想上传我所有的图片。

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

【问题讨论】:

    标签: php image file-upload chmod


    【解决方案1】:

    正如php开发者所说,设置一次chmod就足够了。所有后续对该目录的写入都不会更改目录权限,除非您将其显式更改为其他地方的另一个权限。

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

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

    【讨论】:

      【解决方案2】:

      我建议 chmoding 到 755

      【讨论】:

        【解决方案3】:

        不,您不必每次都更改目录的权限。一旦设置,它们就可以这么说。

        使用 777 太过分了,因为它为每个人提供了完全权限。删除“x”位并让 apache(或任何人)拥有该目录。这使得无法列出文件。

        【讨论】:

          【解决方案4】:

          通常,文件夹设置只需设置一次即可。当您已经将文件夹权限设置为 777 时,继续通过 PHP 将文件夹权限设置为 777 是没有意义的。

          【讨论】:

          • 所以将目录的 chmod 设置为 777 没有什么坏处吗? (这适用于下面的所有答案)
          • 我有时也会通过ftp上传图片,“所有者”会不会和我通过php上传时不同?
          【解决方案5】:

          只有运行 web 服务器 dameon 的用户才需要对目录的写入权限。而且您当然不希望对用户上传到的目录执行权限。

          【讨论】:

          • 我假设你正在使用 php 作为网站,如果它的脚本不理会的话。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-18
          • 1970-01-01
          • 2015-05-29
          • 1970-01-01
          相关资源
          最近更新 更多