首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最终用户脚本

最终用户脚本
EN

Stack Overflow用户
提问于 2012-04-13 13:58:42
回答 2查看 320关注 0票数 5

我想在应用程序中提供终端用户脚本(运行服务器端)。我一直在阅读,发现沙拳比我想象的要麻烦得多。

我不关心语言是什么。LUA,Python,JavaScript,我对任何可读的东西都没意见。

在不受信任的脚本中运行函数、传递一些信息并获得更多信息有多困难?我读过JVM安全管理器(),它几乎是不可用的,但我对这个主题知之甚少,无法真正判断来源。

例如,我如何在JS中解释一个接受JSON (例如来自Java或Python,甚至是node.js)的函数,并返回返回的JSON?

我想避免自己实现一个pythonish的语言解释器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-13 14:34:46

Lua有良好的沙箱能力,而且干净简单。

它具有可以在特定环境中运行代码的塞芬夫()函数。不受信任的代码只能访问特定环境中的内容。

对于C函数(如string.rep ),可以通过用Lua函数替换它们或为lua_newstate提供自定义内存分配器来防止内存过度消耗。

此外,如果您决定要将Lua用于可信代码,并将其与不受信任的代码进行接口,则可以使用协同线debug.sethook来控制CPU的使用。

Lua有一个简单的示例沙箱

源代码 of lua现场演示可能也会引起人们的兴趣。

票数 4
EN

Stack Overflow用户

发布于 2012-04-15 00:53:13

Tcl有一个非常强大的sanbox模型,可以说是用于最终用户脚本的更好的语言之一。您可以在安全解释器手册页面上阅读更多有关它的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10142236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档