Tag: 沙箱

Rails中沙箱中的语言

我发现有一个沙箱gem(由那些在你的浏览器中尝试ruby的人创建,但它只与Ruby 1.8兼容。另一个问题是我再也找不到了它(似乎他们停止服务于gem)服务器…)。 那么,有没有安全的方法在沙盒中运行ruby(所以你可以从浏览器运行它)? 或者在沙箱中运行(例如lua / python)的简单方法(没有文件系统访问,没有对象的创建等)并且可以从Ruby(Rails 2.2)调用? 我想创建一个类似try_ruby的应用程序,即使没有下面的ruby也是如此。 但它必须是一种简单的语言(我看到有一个ruby的序言,甚至是一个口齿不清,但我不认为它们很容易学习语言……)。 那么,你有什么建议或提示吗? 或者我应该开始在Ruby中创建自己的DSL(如果有创建一个安全系统的解决方案)? 谢谢

Ruby:创建一个沙盒评估版?

我的Rails应用程序有关于何时应在页面上显示一些内容的复杂规则。 我决定通过在Ruby中编写谓词(简单的“是/否”函数)并将它们存储在数据库中以便随后进行评估来实现这一点。 这很简单。 我主要担心的是安全问题:如果恶意某人弄清楚如何写入数据库,他们可能会在数据库中粘贴任意Ruby代码,然后“ 所有基础都属于我们 ”。 那么是否可以创建一个“沙盒”eval,例如,删除了所有IO操作?