我正在建立一个公共网站,用户可以在其中共享数据和脚本以运行某些数据。该脚本在某种沙箱中在服务器端运行,而在此周期中没有其他交互:我的Perl程序从数据库中读取用户制作的脚本,将要处理的数据添加到脚本中(即JSON文档),然后调用解释器,返回响应(JSON文档或纯文本),我使用perl脚本将其保存到数据库。该脚本应该可以自己访问添加到脚本语言中的内置函数,但是仅此而已。
因此,我偶然发现了node.js作为一个JavaScript解释器,大约一个小时前就使用了Google的V8(v8对这种事情有意义吗?)。我也想到了CoffeeScript,因为它看起来不错并且仍然是Javascript。
我认为javascript足够广泛并且更易于“沙盒化”,因为它没有操作系统调用或任何远程不安全的东西(我认为)。
顺便说一句,我在Perl和Php上为前端编写系统。
为了改善这个问题:我之所以选择Javascript,是因为我认为可以使用node.js来实现它既安全又简单,但是实现这种任务还有哪些其他选择呢??蟒蛇?我只是找不到有关如何以适当方式运行沙盒解释器的信息。