2013-07-11 79 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