【问题标题】:How to set read/write permissions in Apache on a Windows computer如何在 Windows 计算机上的 Apache 中设置读/写权限
【发布时间】:2012-03-31 20:32:45
【问题描述】:

我正在使用 Apache2.2、PHP5.2.2 在 Windows XP 计算机上以 localhost 配置构建网页。我正在开发 app/pages/submitProcessor.php 来验证用户上传的照片。它验证文件的存在性、大小、mime 类型、删除不需要的字符、分配新文件名,并使用 move_uploaded_file() 将文件存储在 app/uploads 中。我在PHP - Question about uploading & uploaded image file 中读到,这个照片存储文件应该只能从 app/pages/submitProcessor.php 写入,如果它只能从 app/pages 中的代码读取就好了。

我已经阅读了很多信息,而且对这很陌生,我仍然不明白如何在 Windows XP 中以类似于我的配置的方式设置读/写权限。我对 777、775、755、php.ini 与 httpd.config 以及 linux 与 Windows 完全混淆了。我也对命令行的东西不满意,如果可能的话,我更愿意编辑适当的文件。如何配置 Apache,以便 app/uploads 中的任何文件都无法执行,只能从 app/pages/submitProcessor.php 写入,并从 app/pages/display 或 app/pages 中的其他文件读取。 . .或者至少我想接近那个。在 app/upload 目录中不可执行对我来说非常重要。

【问题讨论】:

  • chmod(那些值 777、775 等)是一个 unix 系统。似乎有一个程序可以在 Windows 上模拟这个,叫做 CHMOD-Win,但我不知道那是不是你需要..
  • @mishu 感谢您提供 chmod 线索。我做了一些谷歌搜索,最终找到了 Windows 的等价物。它内置在目录属性中。
  • 好的,我很高兴.. 只是出于好奇.. 你在谈论 ACL 吗?
  • 这可能会有所帮助:i.stack.imgur.com/XEKAb.jpg
  • 在搜索时,我看到了一个叫做 CACLS 的东西,但它看起来有点矫枉过正而且太复杂了(对我来说)。我发现您只需在资源管理器(Windows 文件管理器)中右键单击目录/文件夹名称,您就会看到一个对话框,其中包含该目录的各种访问和使用选项。

标签: php apache security


【解决方案1】:

如果您将 Apache 作为服务运行(独立和 WAMP Apache 安装的默认设置),则该 Apache 服务在 Windows 的 LocalSystem 帐户下运行。

此 Windows 帐户已在大多数本地路径上拥有完整的读取和写入 ('777') 权限。

因此,当您阅读对chmod 777 this、chmod 755 that 等的说明时,您可以忽略说明中的这些部分。 Apache 已经可以读取和写入这些目录(除非它是网络驱动器的 UNC 路径)。

Setting File Permissions with chmod on Windows for Apache and PHP

如果这是 Windows XP 上的帐户(在 Vista 及更高版本上),我不是 100% 肯定,但行为是相同的。

【讨论】:

    【解决方案2】:

    在 Windows 中,通过右键单击目录来设置对目录/文件夹的访问权限,并阅读各种选项卡提供的选项以设置目录的访问权限和特定用途。它不像 CHMOD 那样细粒度,但对于我目前的目的来说已经足够了。

    【讨论】:

      猜你喜欢
      • 2011-06-10
      • 2016-06-08
      • 2010-12-23
      • 1970-01-01
      • 2016-10-11
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多