【问题标题】:Permissions problem when uploading images using PHP in IIS在 IIS 中使用 PHP 上传图片时的权限问题
【发布时间】:2009-03-08 04:54:44
【问题描述】:

我们刚刚将一个网站移到了新服务器上,两台服务器都是运行 IIS 作为 Web 服务器的 Windows Server 2003。

上传图片时,我们要求上传的文件对 NETWORK SERVICE 帐户具有一定的权限。图像使用 PHP 上传,然后 ImageMagick 使用 mogrify.exe 二进制文件过滤它们以调整大小,并放置在 PHP 创建的新文件夹中。

我们遇到的问题是上传的文件没有继承NETWORK SERVICE权限,虽然文件夹有。

我运行 filemon 来查看任何错误并得到以下信息:

mogrify.exe:6396 OPEN C:\inetpub\wwwroot\example.com\data\334480\test.jpg 访问拒绝 NT AUTHORITY\NETWORK SERVICE

我们需要 NETWORK SERVICE 访问权限的原因是我们使用 ASP.NET 脚本来动态调整图像大小。我搜索了谷歌,但找不到解决方案。有什么想法吗?

【问题讨论】:

    标签: php iis imagemagick


    【解决方案1】:

    设法解决了这个问题,我将 php.ini 中的上传 tmp 目录更改为 C:\Test 并为测试提供了我需要的权限,我已经进行了此更改,但进一步检查 upload_tmp_dir 在 php.ini 中设置了两次。 ini 文件。上传的文件继承临时目录的权限。

    【讨论】:

      【解决方案2】:

      您是否确保“网络服务”ACL 适用于“此文件夹、子文件夹和文件”,无论它被应用到何处。另外,尝试使用相同的 ACL 在其他地方创建一个新文件夹,看看 PHP 创建的文件是否继承了权限。

      【讨论】:

      • 嗨 Rob,我在 PHP 中创建了一个单独的脚本和一个新文件夹并绕过了 ImageMagick 阶段,它为 NETWORK SERVICE 提供了与原始脚本结果相同的权限,即特殊权限。
      猜你喜欢
      • 2023-03-27
      • 2011-04-16
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多