我想在應用程序中提供最終用戶腳本(可運行服務器端)。我一直在閱讀,並發現沙盒比我想象的更爲棘手。最終用戶腳本
我真的不在乎什麼語言是。 LUA,Python,JavaScript,我可以閱讀任何東西。
在一個不受信任的腳本中運行一個函數,傳遞一些信息並獲得更多信息有多難?我讀過JVM安全管理器是一個不行,Python幾乎不可用,但我對這個主題知之甚少,不能真正判斷源。例如,我如何解釋JS中的一個函數,該函數需要一個JSON(從Java或Python甚至是node.js)並獲取返回的JSON?
我想避免自己實現一個pythonish i-just-know-it-will-suck語言解釋器。
JavaScript似乎是最安全的選擇。它基本上是爲這個確切的目的而設計的。 – 2012-04-13 13:59:12
至於沙盒Python,有[一些建議](http://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20run%20an%20untrusted%20Python%20script%20safely%20 %28i.e.%20Sandbox%29)。 – 2012-04-13 14:01:06
@Lattyware:保護CPython的建議基本上沒用,恕我直言。他們推薦chrooting(這是不安全的)和虛擬化(這是昂貴的)。 – 2012-04-13 14:02:51