python - Web 服务中的代码解释器

标签 python web-applications interpreter

我想在客户端或服务器端构建一个带有沙盒解释器(或编译器)的网站,该网站可以采用短代码块(python/java/c/c++ 任何通用语言都可以)作为输入并执行它。

我想要构建的是一个地方,在这个地方,给定一个编程问题,用户可以输入解决方案,我们可以运行它通过一些测试用例,以批准解决方案或提供一个失败的测试用例。

寻找指向库、现有实现或总体思路的指针。 非常感谢任何帮助。

最佳答案

有很多竞赛网站都在做类似的事情——TopCoder 和 Timus Online Judge是两个例子。然而,他们没有太多关于该技术的信息。

codepad.org是最接近你想做的事情。他们在定期删除大量沙盒和防火墙的 EC2 服务器上运行程序,以防止漏洞利用。

键盘至少部分基于 geordi ,一个设计用于运行任意 C++ 程序的 IRC 机器人。它使用 Haskell 和陷阱系统调用来防止有害事件。

稍微不那么有趣的是,Google App Engine 的示例项目之一是 Python shell .它依靠 GAE 的服务器端沙盒来防止恶意事件。


在界面方面,最简单的就是做一些类似国际信息学奥林匹克的事情。让人们用目标语言编写一个具有特定名称的函数,然后从您的测试框架中调用它。具有简单的功能,可以让他们在必要时从框架中请求信息。

关于python - Web 服务中的代码解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739214/

相关文章:

c++ - Brainfuck 解释器奇怪的输出

python - 将一个数据框中的行插入另一个数据框中

python - Leptonica - 应用 otsu 阈值后无法写入图像

python - 如何在我的 IDE 上选择 Python IDLE 解释器

iphone - iPhone 与 Android 上的 Web 应用程序性能

java - 使用 getResource 方法时如何获取 webApp 位置?

python - 如何在 IronPython 中安装包/模块

java - 在时间间隔内收集用户电子邮件并在发送前将它们合并(GAE)

c - VxWorks 解释器 - 创建结构

java - 在 Java 中创建自定义解释器 : Where to start from?