林试图找出是否有办法,我可以允许通过允许的open_basedir路径包括文件复制到的open_basedir之外的某个目录,但在同一时间,防止fopen,file_get_contents等打开这些目录中的文件。允许从目录包括但防止FOPEN到同一位置
这样做是为了防止恶意用户窃取源代码的平台,他们只许可使用,并将其移动到不同的服务器,而无需授权。
由于帐户chroot的,他们不能运行了shell_exec系统命令或以其他方式从shell访问这些文件,但是因为我必须让他们开BASEDIR包括的文件,有人可以编写一个脚本来复制的文件结构包含本地帐户的路径,然后ftp下来。
我想,以防止被可能的,如果可能的话。
禁用fopen等不是一个选项。
两者都读访问您的服务器上安装PHP,所以我怀疑你能做到这一点。如果您的目标是安全,您可以创建一个本地主机REST服务供他们访问? –
不可能。 'include'基本上是'$ code = file_get_contents(...); eval($ code)'和'file_get_contents()'基本上只是'fopen();的fread(); FCLOSE();'。有没有办法区分“打开运行代码”和“打开复制代码” –
另一个想法 - 你可能会编辑PHP源代码,并重新编译它在你的服务器上引发异常,当用特定的路径模式调用fopen ,这里:https://github.com/php/php-src/blob/master/main/fopen_wrappers.c –