2013-07-11 34 views
2

有没有一种方法来创建C内沙盒环境++,您可以: - 在 运行的进程 - 负荷(Linux)的如何在C++中创建沙箱环境?

动态库是首选动态库因为主要过程和之间容易沟通沙盒过程。

沙盒进程不应该能够将堆内存或与内核/操作系统进行交互。相反,主进程将提供一个接口来完成这些事情。

有没有办法做到这一点?我可以创建一个脚本解释器,但这会消耗很多速度。我想尽量减少速度损失。

+1

“将内存放入堆栈”是类C语言中的基本操作。所有C/C++程序都将使用堆栈。 – duskwuff

+0

@duskwuff堆*,我纠正它。 :D –

+0

也许这有助于:http://stackoverflow.com/questions/4249063/how-can-i-run-an-untrusted-c-program-in-a-sandbox-in-linux – WoJo

回答

-2

您可以使用一些提供沙箱环境的软件。使用可以为应用程序提供内存限制,时间限制等参数。我在创建一些在线裁判时需要使用沙箱文件,并且需要在有限的环境中执行其他用户的C++文件。

+0

您在这里所做的全部重申了这个问题。你实际上没有提供答案。 – duskwuff