2
有沒有一種方法來創建C內沙盒環境++,您可以: - 在 運行的進程 - 負荷(Linux)的如何在C++中創建沙箱環境?
動態庫是首選動態庫因爲主要過程和之間容易溝通沙盒過程。
沙盒進程不應該能夠將堆內存或與內核/操作系統進行交互。相反,主進程將提供一個接口來完成這些事情。
有沒有辦法做到這一點?我可以創建一個腳本解釋器,但這會消耗很多速度。我想盡量減少速度損失。
有沒有一種方法來創建C內沙盒環境++,您可以: - 在 運行的進程 - 負荷(Linux)的如何在C++中創建沙箱環境?
動態庫是首選動態庫因爲主要過程和之間容易溝通沙盒過程。
沙盒進程不應該能夠將堆內存或與內核/操作系統進行交互。相反,主進程將提供一個接口來完成這些事情。
有沒有辦法做到這一點?我可以創建一個腳本解釋器,但這會消耗很多速度。我想盡量減少速度損失。
您可以使用一些提供沙箱環境的軟件。使用可以爲應用程序提供內存限制,時間限制等參數。我在創建一些在線裁判時需要使用沙箱文件,並且需要在有限的環境中執行其他用戶的C++文件。
您在這裏所做的全部重申了這個問題。你實際上沒有提供答案。 – duskwuff
「將內存放入堆棧」是類C語言中的基本操作。所有C/C++程序都將使用堆棧。 – duskwuff
@duskwuff堆*,我糾正它。 :D –
也許這有助於:http://stackoverflow.com/questions/4249063/how-can-i-run-an-untrusted-c-program-in-a-sandbox-in-linux – WoJo