2010-09-21 2 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 
Смежные вопросы