Unix服务器上的高级文件权限

时间:2011-12-07 07:50:59

标签: apache2 php permissions acl

我有3个包含PHP脚本的文件夹:

- core 
- custom_modules_1 (cm1)
- custom_modules_2 (cm2)

核心由Apache执行,包含来自cm1或cm2的(require_once)文件。它从不包括cm1& cm2同时。

但是当cm1包含cm2中的文件时会出现问题,这应该被阻止,但是如何?

我正在运行带有cPanel的VPS CentOS服务器,因此ACL可能不是一个选项,因为它可能会破坏cPanel。

3 个答案:

答案 0 :(得分:0)

这无法通过权限解决。您需要为每个脚本添加标记代码,以防止交叉包含。

答案 1 :(得分:0)

根据您的具体要求的详细信息,有很多方法可以解决这个问题(从帖子中看不清楚)。

  • 根据脚本的来源,使用不同的包含路径(使用custom_modules_1或custom_modules_1作为路径的一部分)

  • 使用open_basedir限制对特定目录的访问

  • 对不同的文件集使用不同的所有权,并使用suphp强制执行访问权限

答案 2 :(得分:0)

感谢您的回答,但我设法强制要求限制的唯一方法是使用php auto_prepend_file附加一个文件,该文件在包含的每个php文件中执行某些检查。