【发布时间】:2011-05-20 16:26:23
【问题描述】:
我的 Rails 应用程序对于何时应在页面上显示一些内容有复杂的规则。我决定通过在 Ruby 中编写谓词(简单的“是/否”函数)并将它们存储在数据库中以供后续评估来实现这一点。它非常简单。
我主要关心的是安全性:如果恶意的人知道如何写入数据库,他们可以将任意 Ruby 代码粘贴到数据库中,然后'你所有的基地都属于我们'。
那么是否可以创建一个“沙盒”评估,例如,它已删除所有 IO 操作?
【问题讨论】:
-
这里有一些很好的回应,导致follow on question
-
同意这闻起来像 stackoverflow.com/questions/169303/… 的副本。 FWIW,后续问题 (stackoverflow.com/questions/6100616/…) 可能是真正的答案,换句话说,使用专用的 DSL。
标签: ruby-on-rails ruby eval sandbox