2011-07-14 72 views
7

我們正在研究與Tropo有類似要求的產品(請參閱https://github.com/tropo/tropo-samples/tree/master/ruby),其中允許用戶編寫一個ruby腳本,該腳本可以訪問傳入的一些函數和變量。但是,我們希望避免用戶訪問全局呼叫,刪除所有用戶或終止程序。有沒有辦法用eval來實現這一點?有沒有一種安全的方式在Ruby中運行eval?

+0

你應該覆蓋eval並僅傳遞可信命令 – apneadiving

+0

可能的重複:http://stackoverflow.com/questions/406833/language-in-a -sandbox式護欄 – fyr

回答

0

set $ SAFE parameter?這應該確保你不會評估不可信任的字符串,無論如何...

0

Ruby提供了基於「感染」對象的安全模型。

您可能想要購買check that。無論如何請注意,創建一個DSL比eval更安全(也更有趣!)

相關問題