Альтернатива eval () - PullRequest
       14

Альтернатива eval ()

2 голосов
/ 21 сентября 2010

Я ищу альтернативу этому коду:

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

Здесь Eval совершенно небезопасен. Есть ли альтернатива, которую я мог бы использовать для динамического создания классов без использования eval? Как и в, класс всегда отличается. Так что мой код остается общим.

Спасибо за ваше время.

1 Ответ

7 голосов
/ 21 сентября 2010

Вы можете использовать Модуль # const_get:

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