2013-03-08 176 views
3

假設我有一個網站,人們可以通過課堂形式上傳他們的代碼。我怎麼能限制在這個班裏實際可以做的事情?如何對沙箱進行沙箱?

+1

恐怕答案是,寫自己的解析器:-( – TFennis 2013-03-08 10:09:47

+0

BTW - ?這是什麼都用PHP做我的權利在假設你打算在服務器上運行的類 – 2013-03-08 10:11:17

+0

@AndrewThompson我對PHP也很感興趣,看到這個網站後想到了這個問題:http://ideone.com/ – 2013-03-08 10:12:10

回答

3

爲客戶端代碼實施SecurityManager 。我還建議測試代碼的運行時間,如果超過極限則結束測試(這更多的目的是捕捉導致無限循環的程序員無能,而不是故意的惡意操作)。

  1. E.G.如this answer所示,其目標是實現Preventing System.exit() from API