介绍
在PHP中使用Apache(作为Windows上的服务)我已经意识到,虽然web用户默认只能访问htdocs内容,但PHP脚本本身可以在任何地方读取(不限于htdocs内部)。 如果我们不确定PHP脚本的内容,但希望限制文件系统访问,会发生什么?
问题
假定我们希望允许人们改变.PHP文件的内容,但是同时应用文件系统级限制 。 例如: script1.PHP 可以读/写/执行 c:apachehtdocs 任何内容 。 它只能从 c:f1 读取, 但不能访问任何其他目录 。
题
如何确保他/她的PHP程序在读取或写入时具有非常特定的权限(例如file_exists() , mkdir() , proc_open() , fwrite() ,GD: imagejpg() )当htdocs之外?
如何recursion地设置权限,700为文件夹和600为文件,不使用查找
是否有可能在Windows XP中只读目录?
额外的想法
我读过apache作为一个服务运行的LocalSystem帐户, 在大多数本地path 具有完整的读写 权限 ( 777 )。 1
如果我创build了一个新的(虚拟?)用户帐户,将其分配给apache服务,并根据我的喜好更改该特定帐户的[rwx]权限,是否是正确的?
有没有办法为不同的PHP脚本创build不同的限制? 例如。 除了c:apachehtdocs ,还允许script1.PHP在c:f1读写,而script2.PHP只允许从c:f2
此外,是否有可能创build一个“权限pipe理器” – 一个PHP脚本,执行时,将权限分配给其他PHP脚本? 例如所有小于120字节的.PHP脚本,都可以在 c:f1 读写
感谢您的时间,
-Fotis
使用PolicyKit让我的应用程序访问受限制的文件
Ruby Fileutils.cp_r Permission Denied when:preserve => true
打开本地主机时,权限被拒绝
在Tomcat中自定义解包WAR的权限
在你的Apache设置httpd.conf ,应该是这样的:
# # If you wish httpd to run as a different user or group,you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd,as with most system services. # User www-data Group www-data
这将是Apache将运行您的网站的用户和组。 您只需限制该用户对不希望他们访问的文件的权限。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。