【发布时间】:2013-06-18 10:06:36
【问题描述】:
我有一个 Ruby on Rails 应用程序,我需要向数据库中添加一些任意“函数”。这些函数需要接收预定义的参数,执行任意逻辑和算术,并返回一个数字或字符串。
我的第一个想法是将代码添加到数据库并使用eval(code),但我很快就意识到了这样做的安全问题。我找不到真正的沙盒方式eval。
我还考虑过使用JavaScript interpreter,例如,将代码放在 JS 中并在它自己的上下文中运行它,但它似乎仍然有点太多并且不够安全。
有没有办法从字符串中对一些变量执行简单的任意逻辑和算术运算并返回一个值?
【问题讨论】:
标签: ruby-on-rails ruby