注:我很感激這一個標籤的一些建議..允許用戶編程語言中的沙盒版本
我想提供我的用戶在編程處理數據的方法服務器。這可以通過使用瀏覽器內代碼編輯器在稍後的日期執行,與https://www.onx.ms的使用方式不同。
我想避免編寫一個DSL(採用的障礙?),並希望用戶編寫的語言是JavaScript或基於Ruby的語言。
我明顯的擔心是安全性。我瞭解允許用戶生成的代碼運行服務器端的風險,但我可以採取哪些措施來消除風險?
像http://railsforzombies.com這樣的網站實際上是使用irb
,還是比這更簡單?
Caja不會針對拒絕服務攻擊提供沙箱。它沒有針對運行永久'while(true){}'循環或分配大量內存的用戶的防禦。沙盒iframe中的Javascript與Caja具有相同的安全保證(並且缺少dos保護),同時使用起來更簡單並且更加標準。 – AgentME