2010-09-21 81 views
2

我正在尋找替代代碼:替代的eval()

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

這裏EVAL完全是不安全的。有沒有我可以用來生成動態類而不使用eval的替代方法?就像在,克拉斯總是不同的。所以我的代碼保持通用。

謝謝你的時間。

回答

7

您可以使用模塊#const_get:

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