相关疑难解决方法(0)

Ruby:创建一个沙盒评估?

我的Rails应用程序有关于何时应在页面上显示一些内容的复杂规则.我决定通过在Ruby中编写谓词(简单的"是/否"函数)并将它们存储在数据库中以便随后进行评估来实现这一点.这很简单.

我主要担心的是安全性:如果恶意某人弄清楚如何写入数据库,他们可能会在数据库中粘贴任意Ruby代码,然后" 所有基础都属于我们 ".

那么是否可以创建一个"沙盒"eval,例如,删除了所有IO操作?

ruby eval ruby-on-rails sandbox

21
推荐指数
3
解决办法
7772
查看次数

Rails中沙盒中的语言

我发现有一个沙箱宝石(由那些在你的浏览器中尝试ruby的人创建,但它只与Ruby 1.8兼容.另一个问题是我再也找不到了它(似乎他们停止服务于宝石)服务器...).

那么,有没有安全的方法在沙盒中运行ruby(所以你可以从浏览器运行它)?或者在沙箱中运行(例如lua/python)的简单方法(没有文件系统访问,没有对象的创建等)并从Ruby(Rails 2.2)调用?

我想创建一个像try_ruby这样的应用程序,即使没有下面的红宝石.但它必须是一种简单的语言(我看到有一个红宝石的序言,甚至是一个口齿不清,但我不认为它们很容易学习语言......).

那么,你有什么建议或提示吗?或者我应该开始在Ruby中创建自己的DSL(如果有创建一个安全系统的解决方案)?

谢谢

ruby sandbox

5
推荐指数
1
解决办法
2904
查看次数

标签 统计

ruby ×2

sandbox ×2

eval ×1

ruby-on-rails ×1