eval()的替代方案

时间:2010-09-21 08:38:05

标签: ruby security eval

我正在寻找该代码的替代方案:

 expl = eval "BeEF::Modules::Exploits::#{klass.capitalize}.new"

这里的评估完全不安全。有没有我可以用来生成动态类而不使用eval的替代方法?就像在,klass总是不同的。所以我的代码保持通用。

感谢您的时间。

1 个答案:

答案 0 :(得分:7)

您可以使用Module#const_get:

expl = BeEF::Modules::Exploits.const_get(klass.capitalize).new