需要一种安全的方式来执行外部代码


Need a safe way to execute external code

由于存在风险,我想知道是否可以允许人们在我的网站上编写和执行PHP代码,而不使用"eval"。我在谷歌上搜索了一下,确实找到了一些答案,只是没有找到我想要的答案(call_user_func)。这不是我想要的,因为它不允许人们运行完整的PHP脚本。

这是一小群人在执行它,所以服务器负载不会成为问题。

编辑1:用户不应该能够更正/删除文件;用户应该能够创建完整的脚本。;用户应该能够运行html代码,但在使用php标记后立即触发php。

您可以围绕php编写自己的包装进程,该进程使用ptrace来控制子php进程的执行,以防止其打开文件句柄、连接到网络等。

这样,即使人们决定在eval中尝试使用恶意代码,系统调用也会在本机级别被阻止。