沙盒Clojure怎么样?

Zub*_*air 7 clojure

我正在编写一个应用程序,允许我的应用程序的用户使用Clojure扩展它.Clojure通过应用程序中的网页输入并"evaled"运行.我的问题是我如何沙箱用户输入的代码,以便它不会破坏任何东西或调用System.exit或类似的东西?

Mar*_*uis 17

有一个图书馆.Clojure中的lazybot IRC chanel使用它.你可以在这里找到它:https://github.com/flatland/clojail

  • 无论如何,#clojure IRC机器人中的哪一个使用.另一个使用[clojail](https://github.com/Raynes/clojail). (2认同)

sku*_*uro 3

您应该能够通过配置 JDK 级别权限来限制对代码的访问。查看 RuntimePermission 设置,例如,有一个直接设置可以禁止停止 JVM(例如System.exit)。