首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将嵌入式脚本添加到PHP页面

将嵌入式脚本添加到PHP页面
EN

Stack Overflow用户
提问于 2011-09-30 01:06:13
回答 1查看 109关注 0票数 3

我有一个这样的类:

代码语言:javascript
复制
class Person {
    function __construct($name) {
        $this->name = $name;
    }
    function show() {
        echo $this->name;
    }
}

在我的PHP页面上,我希望有一个文本框,让我可以输入自定义语言脚本或PHP脚本(不存在安全漏洞),如下所示:

PHP示例:

代码语言:javascript
复制
    $me = new Person("Alexander");
    $me->show();

并查看页面上的输出和show()函数的结果。显然,我不希望人们编写恶意代码。这是怎么做的?我对这类编程没有任何经验。

问题域示例:

交互式“学习php”网站。用户可以输入php并查看结果,而不必设置自己的web服务器。

“编写攻击脚本”游戏。用户对他们的舰队AI进行编程,并观看与计算机AI的战斗结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-30 02:44:28

最简单的选择是运行沙箱虚拟服务器。您也可以尝试PHP sandbox,尽管它看起来还不够。

归根结底,最安全的方法是创建自己的解释器,这些解释器根本没有让恶意脚本执行任何破坏性任务的能力(即它们在现实世界中没有任何影响),这是一个可以充斥书籍的主题。解释器将代码转换为可由VM执行的格式,VM模拟您希望支持的任何系统功能,并提供沙箱系统调用(尽管后者也可以由您创建的解释器库提供)。基于VM的项目允许您支持多种语言,而不必为每种语言创建一个执行器。微软的CLIVES就是一个例子。

当涉及到包含更多信息的书籍时,基本上compilers/interpretersvirtual machines上的任何内容都是主要相关的。有关VM的更多信息,请参阅"Good literature about making a VM“、"Simple Interpreted Language Design & Implementation”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7600844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档