Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
孤立PHP执行区域_Php - Fatal编程技术网

孤立PHP执行区域

孤立PHP执行区域,php,Php,是否可以只包含有限变量的php脚本(考虑到当前项目的性质,它可能会把事情搞砸) 这是因为我希望将文件作为数据模板运行,但我不希望用户能够访问所有数据。尤其是在共享服务上。我不想在每个变量上都使用unset,因为我以后还需要它们 我希望能够在解释器中打开一个私有区域,这样我就可以只使用某些变量运行脚本,长话短说 提前感谢。您可以创建临时文件,然后使用以下命令执行它 exec("php -f /path/to/temporary/script.php"); 还应该补充一点,它需要不受链接全局的影响

是否可以只包含有限变量的php脚本(考虑到当前项目的性质,它可能会把事情搞砸)

这是因为我希望将文件作为数据模板运行,但我不希望用户能够访问所有数据。尤其是在共享服务上。我不想在每个变量上都使用unset,因为我以后还需要它们

我希望能够在解释器中打开一个私有区域,这样我就可以只使用某些变量运行脚本,长话短说


提前感谢。

您可以创建临时文件,然后使用以下命令执行它

exec("php -f /path/to/temporary/script.php");

还应该补充一点,它需要不受链接全局的影响。你基本上是在问是否可以以安全的方式运行用户提供的任意代码。显而易见的回答是:不要那样做!为什么要这样做?在PHP领域,您的问题没有意义。您的意思是父脚本A定义了一些变量,您希望
包含
脚本B以“导入”或“使用”或“查看”其中的一个或两个?这是一个更大的计划的一部分,包含大量的狡猾。我在考虑include,但我不能隐藏其他变量。你可能会发现这个问题很有帮助。是否有必要在其中定义一些变量?@Chris Goddard:将你想要的任何代码(你的vars定义)放在那里,并附加用户的自定义脚本。这个“有效”,但是仍然是一个巨大的安全漏洞,除非你对各种事情进行认真的锁定…@olicharlesworth:是的,但我希望OP能理解;-)是的,这就是我想让它更安全的目的。我可能会想办法只允许其中的某些功能。只允许查看某些文件目录,禁止某些变量调用和子程序hmmm