我有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。
答案 0 :(得分:0)
这无法通过权限解决。您需要为每个脚本添加标记代码,以防止交叉包含。
答案 1 :(得分:0)
根据您的具体要求的详细信息,有很多方法可以解决这个问题(从帖子中看不清楚)。
根据脚本的来源,使用不同的包含路径(使用custom_modules_1或custom_modules_1作为路径的一部分)
使用open_basedir限制对特定目录的访问
对不同的文件集使用不同的所有权,并使用suphp强制执行访问权限
答案 2 :(得分:0)
感谢您的回答,但我设法强制要求限制的唯一方法是使用php auto_prepend_file附加一个文件,该文件在包含的每个php文件中执行某些检查。