我正在编写一个应用程序,允许我的应用程序用户使用Clojure对其进行扩展。 Clojure通过应用程序中的网页输入并“逃避”运行。我的问题是我怎么能沙箱这个代码输入的用户,以便它不会破坏任何东西或调用System.exit或类似的东西?我如何使用沙盒Clojure?
7
A
回答
3
您应该能够通过配置JDK级别permissions来限制对代码的访问。查看RuntimePermission设置,例如有一个禁止停止JVM的直接设置(例如System.exit
)。
17
有一个库。 Clojure IRC chanel中的lazybot使用它。你可以在这里找到它:https://github.com/flatland/clojail
相关问题
- 1. 打开使用沙盒
- 2. 使用iframe进行沙盒?
- 3. 如何沙盒div元素?
- 4. 与沙盒应用
- 5. 在沙盒应用
- 6. 如何沙盒(应用程序商店)
- 7. 沙盒线程
- 8. 沙盒脚本
- 9. 沙盒赔付
- 10. Paypal沙盒INTERNAL_SERVICE_ERROR
- 11. 沙盒MSBuild
- 12. AppleScripting沙盒应用程序使用ScriptingBridge
- 13. 使用strace打沙盒应用程序
- 14. Mac应用沙盒和forkpty()
- 15. Xcode中的应用沙盒
- 16. 沙盒应用程序
- 17. GameCenter不使用沙盒模式
- 18. INVALID_RESOURCE_ID当Authorization.Capture使用沙盒帐户
- 19. 使用Python沙盒网络服务
- 20. 使用沙盒帐户的API错误
- 21. 我想在clojure中的沙盒命名空间中运行加载文件
- 22. 细粒度沙盒
- 23. 什么是沙盒?
- 24. 沙盒JavaScript输出?
- 25. SPARQL入门,沙盒
- 26. 如何登录沙盒Paypal账户
- 27. 如何在沙盒解决方案
- 28. 如何导入pypy沙盒中的numpy
- 29. 如何使用沙盒的网站付款标准?
- 30. 如何使用PayPal沙盒处理未声明的付款?
无论如何,#clojure IRC机器人使用哪一个。另一个使用[clojail](https://github.com/Raynes/clojail)。 – amalloy 2011-03-10 15:33:24
这不再正确。在我们写clojail之前,sexpbot使用了clj-sandbox。 clojurebot从未使用任何一个沙箱库,选择一个自制的沙箱。 – Rayne 2011-03-28 14:31:41
更新了此答案以使其具有实际意义。 – Rayne 2011-10-26 09:24:01