【发布时间】: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 文件管理器)中右键单击目录/文件夹名称,您就会看到一个对话框,其中包含该目录的各种访问和使用选项。