2009-01-02 56 views
5

我發現那裏有一個沙箱寶石(創造了try ruby in your browser的傢伙,但它只與Ruby 1.8兼容。另一個問題是我找不到它了(看起來它們停止了從服務器服務的寶石......)。沙盒中的語言在軌道上

那麼,有沒有在沙箱中運行紅寶石(所以你可以從你的瀏覽器中運行它)? 或者一個簡單的方法來運行的任何安全方式(對例如lua/python)在一個沙箱(沒有文件系統訪問,沒有創建對象等),並從Ruby(Rails 2.2)調用?

我想做一個像try_ruby的應用程序,即使沒有底下有一顆紅寶石。但它必須是一種簡單的語言(我發現ruby有一個序言,甚至是一個lisp,但我認爲他們不容易學習語言......)。

那麼,你有什麼建議或提示嗎?或者我應該開始在Ruby中創建自己的DSL(如果有創建一個有點安全的系統的解決方案)?

THX

回答

0

另一種方式是像codepad.org做它(VM隔離和檢查調用)

4

我開發基於紅寶石的修改對紅寶石沙箱的實現我最近發佈了一個叫做shikashirdoc documentation)的功能版本的解釋器。

+0

嗨,我想在rails項目中使用你的寶石。我得到這個奇怪的未定義的方法'影子'enumerable.this是當訪問關聯代理方法 – 2010-10-15 20:37:30

0

我不確定你是否想在沙箱中運行任何語言,但我發現JavaScript已經作爲沙盒語言很長時間The ruby racer project讓你將v8引擎嵌入到r uby。希望有所幫助。