我正在編寫一個應用程序,允許我的應用程序用戶使用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