2011-12-07 65 views
1

是它可以防止包括或通过htacces或别的东西访问它们是某个目录下的文件PHP?在这种情况下,用户1和用户2都可以通过FTP直接访问他们的文件夹,但不幸的是,我无法为他们提供独立的php平台。有什么我可以做,以避免USER1做或类似的东西他的文件中的这个“../user2”更糟访问其他网站“../../website1”?防止PHP访问的,并包括文件的父目录

/root 
/root/website1 
/root/website2 
/root/website2/users 
/root/website2/users/user 1 [..] 
/root/website2/users/user 2 [..] 

回答

1

设置这两个目录的相关用户,并限制权限所有者/组目录的所有权和组(基本上,删除他人对他们的目录RWX)。

这将需要进一步的配置在Apache虚拟主机指定哪些“用户”阿帕奇应详细阅读有关文档根目录为:mod_suexec » suexecusergroup

你或许应该设置服务器umask设置为007,以保持在所有新的这种限制文件/文件夹。

此外,你可以设置在你的web根sudo find . -type d -exec chmod g+s {} \;

+0

这不会在大多数情况下,实际工作中所有文件夹setgid位,如PHP经常运行的Apache用户。 – duskwuff

+0

由适当的用户,我认为他意味着Apache使用的用户。这样做会起作用,因为PHP将无法访问该文件。 –

+0

设置Apache中正确的配置意味着PHP将你想要的任何用户调用 - 即使是在每个站点的基础。 – HorusKol